Java变量的声明与定义的区别

内存分析

从内存角度来看:

变量的声明:不为变量分配地址和存储空间;

变量的定义:为变量分配地址和存储空间;

为变量分配地址和存储空间的称为定义,不分配地址的称为声明。

说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间。

Java中的变量分类

Java中的变量大致分为三类:

  1. 静态变量(也叫类变量 static variable):使用static定义,从属于类,生命周期伴随类始终,从类加载到卸载。可以声明后直接使用,因为有默认值。默认值与成员变量相同。
  2. 成员变量(也叫实例变量 member variable):方法外部、类的内部定义的变量,从属于对象,生命周期伴随对象始终。可以声明后直接使用,因为有默认值。
  3. 局部变量(local variable):方法或语句块中定义的变量,生命周期是从声明位置开始到方法或语句块执行完毕为止。必须先声明,再赋值,后使用,没有默认值。

Java变量的默认值

int类型对象声明后,对象默认值为0;

float类型对象声明后,对象默认值为0.0;

boolean类型对象声明后,对象默认值为flase;

字符串类型对象声明后,对象默认值为\u0000;

对象类型为null;


类型

默认初始化值

整型

0

浮点型

0.0

布尔型

false

字符型

\u0000


对象

null

示例如下:

变量的申明与定义_默认值