我是這樣理解的,大家看看對不對,輸出結(jié)果是空(不是字符‘null’)class rock{ rock(){ System.out.println(new String());}}public class constructor {public static void main(String args[]){ new rock();}}
2 回答

四季花海
TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊
就是成員變量沒有顯示賦值,編譯器會將成員變量設(shè)置為默認(rèn)值
public class NoneInitTest {
private String str;
public static void main(String[] args) {
System.out.println(new NoneInitTest().str);
}
}
如果成員變量類型是對象,未顯式初始化的話,就會被設(shè)為null,但是如果是方法中定義的局部變量的話,不會設(shè)置默認(rèn)值,而是會報錯

暮色呼如
TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊
public class Foo {
private static String str;
public static void main(String[] args){
System.out.println(str);
}
}
就是類中的一個域如果沒有被初始化,Java會把它初始化為該類型的零值。
添加回答
舉報
0/150
提交
取消