多态研究的内容(对象):
A:成员变量:
编译看左边,执行看左边
B:成员方法:
编译看左边,执行看右边
C:静态修饰成员:
编译看左边,执行看左边
注意: 静态修饰的东西跟对象无关,也可以说不能算作多态的内容。
向上转型:为了多态使用对象
向下转型:为了使用对象的特殊功能
举例:
孔子爹:
年龄:40
功能:教书("JavaSE")
孔子:
年龄:20
功能:教书("论语")
玩游戏();
想符合多态:
孔子爹 k爹 = new 孔子(); //多态,向上转型。穿上爹的衣服,带上爹的眼镜。装爹。
sop(k爹.age); //40
k爹.教书(); //论语
//k爹.玩游戏(); //报错
//下班了
孔子 k = (孔子)k爹; //回家了,脱去爹的衣服,摘下眼镜,回到自己。向下转型。
k.教书(); //论语
k.玩游戏();
sop(k.age); //20
希望能帮到你 |