声明对象区别
在创建cell和smartphone对象时都是声明的telphone对象,是否能用子类申明?有什么区别呢?
在创建cell和smartphone对象时都是声明的telphone对象,是否能用子类申明?有什么区别呢?
2018-12-04
按你的描述,telephone应该是父类,cell和smartphone是继承了cell的其子类。
以下,我将你说的例子,抽象为java中的类来说明。
我理解的你的问题是:父类引用指向其子类对象,子类引用指向本类对象,其区别是什么?
用子类引用指向本类对象
telephone t1 = new telephone(); cell t2 = new cell(); smartphone t3 = new smartphone();
这是最原始的用法。引用和声明的类型是相同的,此时通过引用可以调用对象中所有的public属性和方法。
2.用父类引用指向其子类对象
telephone t1 = new cell(); telephone t2 = new smartphone();
视频中是以抽象类的形式演示这个关系的。
用父对象引用来指向(声明)其子类对象,
那么通过这个父类引用仅能调用子类从父类中继承或重写的public方法和属性,
而无法调用子类新声明(即子类中有,父类中没有)的任何方法和属性。
举报