您的位置:首页 > 编程语言 > Java开发

java中变量什么时候需要初始化

2016-06-30 17:28 381 查看

1. 对于类的成员变量,不管程序有没有显式的进行初始化,加载时Java虚拟机都会先自动给它初始化为默认值。 

 基本数据类型默认值如下:

             Boolean      false

             Char           '\u0000'(null)

             byte            (byte)0

             short           (short)0

             int               0

             long            0L

             float            0.0f

             double        0.0d
 引用数据类型默认值由个引用类型内部函数定义初始化值(应该可以自己重写默认初始化值,自己认为,日后验证)如:
String null
数组0
...
举例代码:
class Test2 {

public static void main(String[] args) {
Student st = new Student();
System.out.println(st.name);
System.out.println(st.age);
}

}

class Student {

  String name;
int age;

}
编译:正常
结果:

2. 局部变量声明之后,Java虚拟机就不会自动给它初始化为默认值,因此局部变量的使用必须先经过显式的初始化。
否则调用会出错。
举例代码:
class Test2 {
public static void main(String[] args) {

String name;
int age;
System.out.println(name);
System.out.println(age);
}

}

编译:错误
---------- javac ----------

Test2.java:10: 错误: 可能尚未初始化变量name
System.out.println(name);
                  ^

Test2.java:11: 错误: 可能尚未初始化变量age
System.out.println(age);
                  ^

2 个错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: