静态变量和各种类型的缺省值

静态上下文中只能访问静态成员。static 函数只能访问 static 变量或 static 函数。

数字类型成员的缺省值是0,布尔型为false,对象引用唯一的缺省值类型是null
各种类型的缺省值:
boolean: false
byte: 0
char: ''
short: 0
int: 0
float:0.0
long: 0
double:0.0
Reference: null

局部变量在使用之前必须显式赋值才能使用,否则将会有编译错误。
由于局部变量使用的是栈内存,由于某些原因(主要是效率)虚拟机不能为栈上的变量设置默认值,所以局部变量需要显式赋初始值。
除局部变量以外的所有变量都是使用堆内存,由于在各种现代的机器上都可以很方便、快速地使大块内存初始化为相同的数值,比如可以将它初始化为 0,这个特性使得堆内存都可以由虚拟机赋初始值。由于在调用函数时,栈需要频繁地做出栈、入栈操作,若虚拟机要为各函数中的局部变量赋初始值的话会极大地影响效率,所以局部变量不可以从虚拟机得到这种好处。

你可能感兴趣的:(java,静态,类型)