【发布时间】:2016-02-15 16:42:12
【问题描述】:
如何访问在其超类中声明的子类的字符串变量?
我有类似这样的课程:
public class Parent {
public void display() {
// displays A
}
}
public class Child1 extends Parent {
}
public class Child2 extends Parent {
}
Parent p1 = new Child1();
Parent p2 = new Child2();
p1.display(); // Currently displaying parent value of A
p2.display(); // Currently displaying parent value of A
我如何确保在这个 display() 中,p1 和 p2 都使用它们自己的 A 值,而不是父类?
【问题讨论】:
-
如果
Parent类不是抽象类,则创建一个具有参数(String a)的构造函数。然后从子类调用super(A) -
你能改写你的问题吗,因为我不明白你的意思
-
我已尝试编辑问题。很抱歉,这是一个完整的重写,但原版很难理解。如果我弄错了,则回滚编辑(或只是更新我的编辑)。
-
+ to @WyattLowery 评论因为可测试性倡导者谴责构造函数偷偷做某事。这使得测试变得困难。
-
您是否有指向谴责构造函数的可测试性倡导者的链接?我是可测试性倡导者,我不谴责构造函数。
标签: java class oop virtual abstract