Java虚拟机会对类的实例对象进行分配内存,在分配内存后,会将内存空间(除了对象头)全部初始化为零值。这就保证了,在类的定义过程中,不给字段赋初始值,实例对象也能有初始值。
下面是在Java类中各字段的初始值
字段 | 默认初始值 |
对象 | null |
数值(byte,short,int,long,float,double) | 0或0.0 |
boolean | false |
char | \u0000(输出出来是空值) |
class Solution {
private static char c;
private static int i;
private static long l;
private static float f;
private static double d;
private static String s;
private static boolean bl;
private static byte b;
public static void main(String[] args) {
System.out.println(c == '\u0000');
System.out.print(c);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(d);
System.out.println(s);
System.out.println(bl);
System.out.println(b);
}
}
/*输出结果
true
0
0
0
0
0.0
0.0
null
false
*/