当变量作为作为类成员使用时,java才确保给定其初始值,防止程序运行时错误
数据类型 | 初始值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
char | 'u0000' |
float | 0.0f |
double | 0 |
boolean | false |
所有引用类型 | null |
基本数据类型的包装类都属于引用类型
基本类型 |
大小(字节) |
默认值 |
封装类 |
byte |
1 |
(byte)0 |
Byte |
short |
2 |
(short)0 |
Short |
int |
4 |
0 |
Integer |
long |
8 |
0L |
Long |
float |
4 |
0.0f |
Float |
double |
8 |
0.0d |
Double |
boolean |
- |
false |
Boolean |
char |
2 |
u0000(null) |
Character |
如果一边是包装类,一边是基本类型时;或者使用了<、>、<=等比较符,都会进行值比较;如果发现==两边都是对象,它就直接比较引用,而不是值
null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是java.lang.Object的实例