java中“未初始化的String引用”怎么理解(TK in java的习题)

图片描述

我是这样理解的,大家看看对不对,输出结果是空(不是字符‘null’)

class rock{

rock(){

System.out.println(new String());}

}

public class constructor {

public static void main(String args[]){

new rock();

}

}

回答:

就是成员变量没有显示赋值,编译器会将成员变量设置为默认值

public class NoneInitTest {

private String str;

public static void main(String[] args) {

System.out.println(new NoneInitTest().str);

}

}

如果成员变量类型是对象,未显式初始化的话,就会被设为null,但是如果是方法中定义的局部变量的话,不会设置默认值,而是会报错

回答:

public class Foo {

private static String str;

public static void main(String[] args){

System.out.println(str);

}

}

就是类中的一个域如果没有被初始化,Java会把它初始化为该类型的零值。

以上是 java中“未初始化的String引用”怎么理解(TK in java的习题) 的全部内容, 来源链接: utcz.com/p/170867.html

回到顶部