Day11(对多态向下转型的理解)

多态的向下转型:

存在多态的前提:(缺一不可)

1、要有继承关系

2 、要有方法重载

3、要有父类的引用指向子类对象

class 曹操{

int age = 50;

public void fight(){

System.out.println("赤壁之战");

}

}

class 曹植 extends 曹操{

int age = 28;

public void fight(){

System.out.println("习武练习");

}

public void xieShi(){

System.out.println("写诗,习惯将自己的名字写在诗的尾部");

}

}

某一天,要发生赤壁之战,曹操拉肚子了,临时战场上没有人指挥,曹植看到了

他立刻换上父亲的衣服,贴上假胡子,假扮父亲上战场指挥

//这种现象,叫向上转型,多态的引用

曹操 c = new 曹植();

c.fight();//"习武联系"

//一旦写诗就暴漏了

//c,xieShi();

这时候,曹操上完厕所了回来,告知曹植说我回来了

这时候曹植脱下父亲的衣服,撕掉假扮的胡子,回到自己的身份

//这个现象叫做向下转型

曹植 c2 = (曹植)c;

c.fight();

//这时候就可以写诗了

c.xieShi();

上一篇:Day11_接口的案例


下一篇:day11函数基础总结和作业