package jiCheng_duoTai;
public class ChongWuGuanLiXiTong {
public static void main(String[] args) {
//Cat1 c = new Cat1("皮皮","女");
//c.info();
//Dog1 d = new Dog1("鬼鬼","塞维尼亚尼泊尔混血藏獒");
//d.info();
ChongWu cw1=new Cat1("皮皮","女");//使用多态的方法进行创建对象 父类引用指向子类对象
cw1.info();//多态
ChongWu cw2=new Dog1("鬼鬼","塞维尼亚尼泊尔混血藏獒");
cw2.info();
System.out.println("=================================================");
Master m = new Master("老李");
m.feed(cw1);
m.feed(cw2);
}//只有方法有多态,成员变量没有多态
}
class ChongWu{
private String name;
public ChongWu() {}
public ChongWu(String name) {
this.name=name;
}
public void eat() {}
public void info() {
System.out.println(getName());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Cat1 extends ChongWu{
private String sex;
public Cat1() {}
public Cat1(String name,String sex) {
super(name);
this.sex = sex;
}
public void eat() {
System.out.println("小猫吃鱼");
}
public void info() {
super.info();
System.out.println(getSex());
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
class Dog1 extends ChongWu{
private String type;//种类
public Dog1() {}
public Dog1(String name,String type) {
super(name);
this.type=type;
}
public void eat() {
System.out.println("小狗吃骨头");
}
public void info() {
super.info();
System.out.println(getType());
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
class Master{
private String name;
public Master() {}
public Master(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void feed(ChongWu cw) {
System.out.print(getName()+"喂");
cw.eat();
}
}
输出显示:
皮皮
女
鬼鬼
塞维尼亚尼泊尔混血藏獒
=================================================
老李喂小猫吃鱼
老李喂小狗吃骨头
Java——宠物管理系统----继承与多态
最新推荐文章于 2023-03-09 11:48:34 发布