class abstract Parent ()
{
private int a;
private final int b = a + 1; // a is null at that point
}
class Child extends Parent
{
public Child()
{
a = 2;
}
}
在c++中这并不是一个真正的问题(因为指针),但是我不确定如何在java中处理这个问题。很明显 a
等于0时 Parent
尝试启动 b
.
我最初试着打电话 super()
凝固后 a
,但显然 super()
必须先打电话进来 child
的构造函数。我不想设置 b
在 Childs
我更喜欢 b
成为 final
我也是。有什么想法吗?
1条答案
按热度按时间5w9g7ksd1#
你想做的事不能这样做,你需要做的是传递
a
给一个Parent
:并定义
Child
作为: