【发布时间】:2014-08-25 09:35:31
【问题描述】:
在 Java 中,如果我有这样的类
abstract class TestClass
{
int mMember = 0;
int getMember()
{
return mMember;
}
}
还有一个扩展这个类的类:
class TestExtended extends TestClass
{
int mMember = 1;
}
如果我创建一个 TestExtended 实例并调用 testExtended.getMember(); 它会返回 0 还是 1?
换句话说,当我扩展一个类并且不覆盖该类的方法时,它是调用该方法并作用于该类中的成员还是扩展类中的成员?
是否需要在扩展类中重新实现(复制粘贴)函数以使函数返回 1?
【问题讨论】:
-
为什么不测试一下呢? (顺便说一句,它会返回
0。) -
我在 StackOverflow 上找不到答案。我自己不知道答案,并认为通过询问它会使其他人受益。我无法访问编译器,所以我现在无法测试它。感谢所有这些人在一个有效的问题上投票反对我。
标签: java inheritance abstract-class member extends