【发布时间】:2016-07-28 22:56:54
【问题描述】:
我是 Java 新手,但我无法理解一件事:
当我通过分配给子对象(类扩展对象)来声明对象时,它无法访问子对象属性。 这是为什么呢?
假设我有这个:
public class A {
public int a;
}
public class B extends A {
public int b;
}
当我像这样创建一个 B 对象时:
A object = new B();
我无权访问object.b
我不得不这样声明
B object = new B();
我的对象不应该是第一种方式的 B 吗?
【问题讨论】:
-
您的 object 是 B -- 但是您调用该方法的 reference 可以指向任何 A 对象,并且受到限制到A接口。
标签: java inheritance