Java变量类型有 局部变量, 成员变量(实例变量), 静态变量
局部变量声明在方法,构造方法或者代码块中
访问修饰符不能用于局部变量
public void demo() {
int a = 1;
System.out.println(a);
}
局部变量没有默认值,所以局部变量被声明后必须经过初始化才能被使用
成员变量声明在类中,方法,构造方法,代码块外面
访问修饰符可以修饰成员变量
实例变量可以声明在使用前或者使用后(建议在使用前)
public class A {
private int a;
}
成员变量具有默认值, 成员变量的值可以在声明时指定,也可以在构造方法中指定
成员变量具有默认值, 成员变量的值可以在声明时指定,也可以在构造方法中指定,还可以在静态代码块中初始化
局部变量 | 成员变量 | 静态变量 | |
---|---|---|---|
定义位置 | 方法中,或者方法的形式参数 | 类中,方法外 | 类中,方法外 |
初始化值 | 没有默认值,定义赋值后才能使用 | 有默认初始化值 | 有默认初始值 |
调用方式 | 只能在方法内部使用 | 对象调用 | 对象调用 |
存储位置 | 栈 | 堆 | 方法区 |
生命周期 | 与方法共存亡 | 与对象共存亡 | 与类共存亡 |
别名 | 实例变量 | 类变量 |
原文:https://www.cnblogs.com/xly1029/p/14044446.html