【发布时间】:2018-05-26 12:59:48
【问题描述】:
例如,考虑三个类 A、B 和 C。B 扩展 A,C 扩展 B。 现在 C 类拥有 B 的所有可访问方法和字段。
当C的实例被创建为-----C c = new C()时,堆区为 分配给“C”中的实例字段(它是否包括“A”的属性 还有'B'?)。当调用超类构造函数时,一个新的对象 必须创建超类。对这个对象的引用存储在哪里?
当一个类对象被实例化时,类层次是如何管理的?
【问题讨论】:
-
没有单独的个对象。
C对象也是B并且也是A。只有一个引用,只有一个对象。 -
其实C有B和A的所有方法和字段;不仅是他可以访问的,尽管 C 的代码不一定可以访问所有这些。正如 Louis 所写,C 是 B 和 A 的(扩展),就像汽车也是作为对象的车辆一样。
-
谢谢。那么超类的私有字段存储在哪里。我希望它们不能存储在同一个对象中,因为它们不可访问。
-
同样在隐藏字段的情况下 - 如何将两个相同的字段存储在同一个对象中?
标签: java class constructor