变量的默认初始化
Java是会为类的成员变量提供默认初始化的,但是又听说局部变量不会提供默认的初始化,是这样吗?
public class TestVariable {
public int id;
public String name;
public char c;
public byte by;
public float f;
public double d;
public boolean bo;
// 再次说明了局部变量只能有final修饰符,static都不行
@Test
public void testV(){
int no;
final int no2;
System.out.println(id); // 0
System.out.println(name); // null
System.out.println(c); // 空字符
System.out.println(by); // 0
System.out.println(f); // 0.0
System.out.println(d); // 0.0
System.out.println(bo); // false
// 局部变量没有初始化,编译就报错
// System.out.println(no);
// System.out.println(no2);
}
}
结果男默女泪,编译时就出错了
类的成员属性的默认初始化
结论是会为类的普通属性成员初始化
基本数据类型:
- int: 0
- char: 空字符
- byte: 0
- float: 0.0
- double: 0.0
- short: 0
- long:0
- boolean: false
对象类型
String: null
Other Object: null
局部成员的默认初始化
局部变量并不会默认的初始化,而是在编译时就直接报错!!!
局部变量的修饰符
局部变量不允许使用修饰符,只能使用final,static都不行
Java为类的成员变量提供默认初始化,例如基本数据类型的默认值分别为:int为0,char为空字符等。对象类型如String则为null。然而,局部变量在没有明确初始化时,编译时会报错,不会自动初始化。

1269

被折叠的 条评论
为什么被折叠?



