Java变量的声明与定义的区别
内存分析
从内存角度来看:
变量的声明:不为变量分配地址和存储空间;
变量的定义:为变量分配地址和存储空间;
为变量分配地址和存储空间的称为定义,不分配地址的称为声明。
说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间。
Java中的变量分类
Java中的变量大致分为三类:
- 静态变量(也叫类变量 static variable):使用static定义,从属于类,生命周期伴随类始终,从类加载到卸载。可以声明后直接使用,因为有默认值。默认值与成员变量相同。
- 成员变量(也叫实例变量 member variable):方法外部、类的内部定义的变量,从属于对象,生命周期伴随对象始终。可以声明后直接使用,因为有默认值。
- 局部变量(local variable):方法或语句块中定义的变量,生命周期是从声明位置开始到方法或语句块执行完毕为止。必须先声明,再赋值,后使用,没有默认值。
Java变量的默认值
int类型对象声明后,对象默认值为0;
float类型对象声明后,对象默认值为0.0;
boolean类型对象声明后,对象默认值为flase;
字符串类型对象声明后,对象默认值为\u0000;
对象类型为null;
类型 | 默认初始化值 |
整型 | 0 |
浮点型 | 0.0 |
布尔型 | false |
字符型 | \u0000 |
对象 | null |
示例如下: