关于 Java 实例变量初始化的问题,求解答!!
书上说:Java实例变量没有默认的初始值,引用变量前必须显示给变量赋值或对实例变量进行初始化。但是书上又说实例变量的初始化方式中有默认初始化的方式,即不对变量初始化时,Java语言对变量数据域中的数字与默认值为0,布尔域默认值为FALSE,实例变量域为null,这个怎么理解?我不明白,求大神解答!!!
public class InitializationTest { String str; String str2 = "hello"; String str3 = "about"; InitializationTest(){ println("constructor"); str3 = "think"; } public static void main(String[] args) { InitializationTest a = new InitializationTest(); println("str:"+a.str); println("str2:"+a.str2); println("str3:"+a.str3); } }
输出: constructor str:null 默认初始化的方式 str2:hello 对实例变量进行初始化 str3:think 构造函数中对实例变量进行初始化