声明对象区别

来源:10-3 Java 中的抽象类

神毓藏玄

2018-12-04 00:55

在创建cell和smartphone对象时都是声明的telphone对象,是否能用子类申明?有什么区别呢?

写回答 关注

1回答

  • 慕婉清612822
    2018-12-04 13:46:23
    已采纳

    按你的描述,telephone应该是父类,cell和smartphone是继承了cell的其子类。

    以下,我将你说的例子,抽象为java中的类来说明。

    我理解的你的问题是:父类引用指向其子类对象,子类引用指向本类对象,其区别是什么?

    1. 用子类引用指向本类对象

    telephone t1 = new telephone();
    cell t2 = new cell();
    smartphone t3 = new smartphone();

    这是最原始的用法。引用和声明的类型是相同的,此时通过引用可以调用对象中所有的public属性和方法。

      2.用父类引用指向其子类对象

    telephone t1 = new cell();
    telephone t2 = new smartphone();

    视频中是以抽象类的形式演示这个关系的。

    用父对象引用来指向(声明)其子类对象,

    那么通过这个父类引用仅能调用子类从父类中继承或重写的public方法和属性,

    而无法调用子类新声明(即子类中有,父类中没有)的任何方法和属性。

    神毓藏玄

    谢谢啦

    2018-12-05 23:19:48

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530655 学习 · 6091 问题

查看课程

相似问题