使用Java,我试图在声明时初始化成员变量,但由于某种原因,变量保持默认值,例如0、空等。
请查看示例代码片段,它演示了我想要实现的目标:
public class B extends A {
Map<Integer, Integer> map = new HashMap <Integer, Integer>();
int number = 10;
public B() {
super();
}
public Map getMap() {
return map;
}
public int getNumber() {
return number;
}
}
代码的重要部分是它是一个子类,并且我试图在声明时初始化两个成员变量。当我进入构造函数时,map 和 number 的值分别为 null 和 0,这是为什么?
最佳答案
根据规范,基类的构造函数在初始化类 B 的成员之前执行。
关于java - 成员变量在声明时未能初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787818/