父类对象由子类实例化【转载】

这个涉及到对象的多态性
父类对象由子类实例化,即是对象的多态性中的一种类型之一:向上转型

父类 父类对象=子类实例
意思就是说:我们是使用子类来实例化对象,而这个对象却是披上了“父类对象”的名称
class A{
public void fun1(){} //定义父类中的fun1方法
public void fun2(){} //定义父类中的fun2方法
}
class B extends A{
public void fun1(){} //覆写父类A中的fun1方法
public void fun3(){} //定义子类自己的方法
}
public class Test{
public static void main(...){
A a=new B();
a.fun1(); // 可执行
a.fun3(); //无法执行,父类中没有定义fun3方法
}
}
参考楼上那位的图是不错滴~我觉得挺正确的
还有在以上代码中 :a.fun3(); 无法执行,这就涉及到了对象的多态中向下转型。书里应该有说道的。


作者:知乎用户
链接:https://www.zhihu.com/question/23433483/answer/24573654
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/ben-zhou/p/7761754.html