我有以下代码片段:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
即使字符串在构造函数内初始化,其输出也为null.
为什么会这样?
正如我在评论中提到的那样,public void Constructor(){
它不是构造函数,因为构造函数没有返回类型Constructor
.因为它是无效的,所以它不是构造函数
删除void关键字
class Constructor {
static String str;
public Constructor(){
System.out.println("In constructor");
str="Hello World";
}
public static void main(String[] args) {
Constructor c=new Constructor();
System.out.println(str);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:Hello World
归档时间: |
|
查看次数: |
1364 次 |
最近记录: |