先看第一段代码:
关于多态,总的来说就是父类的引用可以指向子类的对象; 以上程序输出为child iss singing ;
(1)若将子类Child类的sing()方法注释掉,则输出结果为:parent is singing;
(2) 若将父类parent类sing()方法注释掉,则 D:/java_pro_jdk>javac Polymorphysim.jav
Polymorphysim.java:4: 找不到符号
符号: 方法 sing()
位置: 类 Parent
parent.sing();
^
1 错误
再看一段程序:
这段代码是关于强制类型转换的,编译结果为:
D:/java_pro_jdk>javac Polymorphysim.java
Polymorphysim.java:4: 不兼容的类型
找到: Dog
需要: Cat
Cat cat = (Dog)dog;
^
可以解释为:必须转换为实际所指向的类型的对象,即实际new的是什么对象,就转换成什么对象;
指向谁就调用谁的方法;