1.设计Bird,Fish类,都继承抽象类Animal,实现其抽象方法info( ),并输出他们的信息。
/** * 哺乳类 * @author lenovo * */ public abstract class Animal { private int age; // 年龄 public int getAge() { return age; } public void setAge(int age) { this.age = age; } /** * 无参构造方法 */ public Animal() { super(); } public Animal(int age) { this.age = age; } /** * 抽象方法 */ public abstract void info(); } /** * 鸟类 * @author lenovo * */ public class Bird extends Animal{ private String color; //颜色 /** * 有参构造方法 * @param age 年龄 * @param color 颜色 */ public Bird(int age,String color) { super(age); this.color = color; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } /** * 调用抽象方法 */ @Override public void info() { // TODO Auto-generated method stub System.out.println("我是一只"+getColor()+"的鸟!"); System.out.println("今年"+getAge()+"岁了!"); } } /** * * @author 鱼类 * */ public class Fish extends Animal { private int weight; /** * 有参构造方法 * @param age * @param weight */ public Fish(int age,int weight) { super(age); this.weight = weight; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } /** * 调用抽象方法打印 */ @Override public void info() { // TODO Auto-generated method stub System.out.println("我是一只"+getWeight()+"斤重的鱼!"); System.out.println("今年"+getAge()+"岁了!"); } } /** * * @author测试类 * */ public class Test { public static void main(String[] args) { Animal b = new Bird(4,"红色") ; //创建新的对象并赋值 b.info(); System.out.println(""); Animal c = new Fish(5,2); c.info(); } }
2.兜兜家养了俩只家禽:一只鸡和一只鸭。请用面对思想的封装,继承的特性进行描述。
/** * * @author 家禽类 * */ public abstract class Fowl { private String name; //昵称 private String likefavorite; //喜欢的食物 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLikefavorite() { return likefavorite; } public void setLikefavorite(String likefavorite) { this.likefavorite = likefavorite; } /** * 无参构造方法 */ public Fowl() { super(); // TODO Auto-generated constructor stub } /** * 有参构造方法 * @param name * @param likefavorite */ public Fowl(String name, String likefavorite) { super(); this.name = name; this.likefavorite = likefavorite; } /** * 抽象方法 */ public abstract void print(); } /** * * @author 鸡类 * */ public class Chicken extends Fowl { private String strain; //品种 private String hobby; //爱好 /** * 有参构造方法 * @param name 昵称 * @param likefavorite 爱吃的食物 * @param strain 品种 * @param hobby 爱好 */ public Chicken(String name, String likefavorite ,String strain,String hobby) { super(name, likefavorite); this.strain = strain; this.hobby = hobby; } public String getStrain() { return strain; } public void setStrain(String strain) { this.strain = strain; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } /** * 调用抽象方法打印输出 */ public void print() { System.out.println("我叫:"+getName()+",是一只"+getStrain()+"!"); System.out.println("我喜欢吃"+getLikefavorite()+"!"); System.out.println("我会"+getHobby()+"!"); } } /** * * @author 鸭类 * */ public class Duck extends Fowl { private String kind; //种类 private String hobby; //爱好 /** * 有参构造方法 * @param name 昵称 * @param likefavorite 爱吃的 * @param kind 种类 * @param hobby 爱好 */ public Duck(String name, String likefavorite,String kind,String hobby) { super(name, likefavorite); this.kind = kind; this.hobby = hobby; } public String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } public String getHobby() { return hobby; } public void setHobby1(String hobby) { this.hobby = hobby; } /** *调用抽象方法打印并输出 */ public void print() { System.out.println("我叫"+getName()+",是一只"+getKind()+"!"); System.out.println("我喜欢吃"+getLikefavorite()+"!"); System.out.println("我会"+getHobby()+"!"); } /** * * @author 测试类 * */ public class Test1 { public static void main(String[] args) { Chicken chi = new Chicken("喔喔","虫子","芦花鸡","打鸣"); chi.print(); System.out.println(""); Duck duck = new Duck("嘎嘎","小鱼虾","斑嘴鸭","游泳"); duck.print(); } }
3.练习题:
/** * *汽车类 * */ public abstract class MotoVehcle { private String no; //车牌号 private int brand; //品牌 public String getNo() { return no; } public void setNo(String no) { this.no = no; } public int getBrand() { return brand; } public void setBrand(int brand) { this.brand = brand; } /** * 无参构造方法 */ public MotoVehcle() { } public MotoVehcle(String no, int brand) { super(); this.no = no; this.brand = brand; } /** * 抽象方法 * @param days */ public abstract int caiRent(int days); } /** * * @author 小汽车类 * */ public final class Car extends MotoVehcle { private int type; //型号 public int getType() { return type; } public void setType(int type) { this.type = type; } public Car(String no,int brand,int type) { super(no, brand); this.type = type; // TODO Auto-generated constructor stub } public int caiRent(int days) { if (type == 1) { //宝马 return 500 * days; } else { if (type == 2) { //别克 return 600 * days; } else { return 300 * days; } } } } /* * 大巴车类 */ public final class Bus extends MotoVehcle { private int seatCount; //座位数 public int getSeatCount() { return seatCount; } public void setSeatCount(int seatCount) { this.seatCount = seatCount; } public Bus(int seatCount) { super(); this.seatCount = seatCount; } public int caiRent(int days) { if(seatCount<=16) { //金杯 return 800*days; }else { //金龙 return 1500*days; } } } /** * * @author测试类 * */ public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("欢迎您你来到汽车租赁公司!"); System.out.print("请输入要租赁的天数:"); int days = input.nextInt(); System.out.print("请输入租赁的汽车类型(1.轿车 2.客车):"); int tepy = input.nextInt(); if (tepy == 1) { System.out.print("请输入要租赁的汽车品牌(1.宝马 2别克):"); int brand = input.nextInt(); if (tepy == 1) { System.out.println("1.宝马 550i"); } else if (tepy == 2) { System.out.print("请输入要租赁的汽车品牌(2.商务舱GL8 3.林荫大道):"); tepy = input.nextInt(); } String no = "京BK5543"; System.out.println("分配给你的车牌是:" + no); Car car = new Car(no, days, brand); System.out.println("\n\n您好,您需要支付的租赁费是:" + car.caiRent(days)); } else { if (tepy == 1) { System.out.print("请输入要租赁的汽车品牌(1.金杯 2金龙):"); int brand = input.nextInt(); } System.out.print("请输入客车座位数:"); int seatCount = input.nextInt(); System.out.println("分配给你的号牌是:京AU8769"); Bus bus = new Bus(seatCount); System.out.println("\n\n您好,您需要支付的租赁费是:" + bus.caiRent(days)); } } }