f不能使用aa()方法,因为引用的类型是Father,不知道这个算不算是所谓的数据丢失
但被强转后的c可以调用aa()方法了,应该是没有数据丢失吧作者: 罗利华 时间: 2012-12-29 18:07
这里涉及到了JAVA的一个核心概念,即多态,Child继承Father,说明Child是Father的一个子类,但Father不止一个Child.下面是一个多态的完整例子。
class Father {
public void name() {
System.out.println("father name");
}
}
class Child1 extends Father {
public void name() {
System.out.println("child1 name");
}
}
class Child2 extends Father {
public void name() {
System.out.println("child2 name");
}
}
public class Outer{
public static void main(String[] args) {
Father f = new Child1();
f.name();
Father f1 = new Child2();
f1.name();
}
}
//多态的实现
//1,有继承
//2,有重写
//3,父类引用指向子类对象
希望对你有帮助,