我有下面的代码片段:我们可以初始化构造函数中的静态变量吗?
class Constructor {
static String str;
public void Constructor() {
System.out.println("In constructor");
str = "Hello World";
}
public static void main(String[] args) {
Constructor c=new Constructor();
System.out.println(str);
}
}
其输出为null,即使该字符串在构造函数中初始化。
这是为什么?
公共无效构造函数(){不是构造函数,它的普通方法 – SpringLearner
至于你的问题:你可以,但你不应该。这是非常糟糕的风格。 –
但在我看来,想要在构造函数中初始化静态变量没有任何意义吗?一个静态变量可以在没有对象的情况下访问,因此如果需要在构造函数中进行初始化,该变量不应该是静态的。 – user16655