目录
什么是变量
定义:在程序执行的过程中,有可能发生改变的值
(可以简单理解为用来存储数据的盒子)
变量的定义格式:
数据类型 变量名 = 数据值;
int a = 2;//这就是变量a的定义语句,赋初始值2
变量的分类
java中主要有:
- 局部变量
- 定义:局部变量是在方法或代码块中的变量
- 作用域:仅在定义定义它们的方法或者代码块中有效
- 当方法结束,该变量也就从内存中消失
- 类变量(静态变量)
- 类变量也称作静态变量,被static关键字修饰,属于类本身
- 作用域:整个类
- 内存分配:类变量存储在堆内存的方法区中,和类的声明周期一样长
- 成员变量(非静态变量)
- 成员变量又称为实例变量,只是定义在类中,事实上属于类的实例(类的实例就是类的对象)
- 作用域:整个类
- 内存分配:成员变量存储在java的堆内存中
注意:这里的静态变量是指被static修饰的变量
注意区分类变量和成员变量!(文章的最后有表格)
示例代码:
public class ExampleClass {
// 类变量(静态变量)
private static int staticVariable = 10;
// 成员变量(实例变量)
private int instanceVariable;
// 构造函数
public ExampleClass() {
instanceVariable = 20; // 初始化成员变量
}
// 方法
public void displayVariables() {
// 局部变量
int localVariable = 30;
System.out.println("Static Variable: " + staticVariable);
System.out.println("Instance Variable: " + instanceVariable);
System.out.println("Local Variable: " + localVariable);
}
}
类变量和成员变量的区别
类变量 | 成员变量 | |
---|---|---|
所有权 | 类本身 | 类的实例 |
访问方式 | 直接通过类名访问 | 通过创建类的实例后,使用这个实例来进行访问 |
数量 | 无论创建多少个类的实例,类变量都只有一个,所有的实例共享这个变量 | 每个类的实例都有自己的成员变量 |