- 类变量(静态变量)
- 使用static声明的变量,可以直接使用类名.变量名访问
- 一个类不管创建了多少个对象,类只拥有类变量的一份拷贝,数值默认值是0,布尔型默认值是false,引用类型默认值是null
- 生命周期
- 声明为public类型,一般这样声明public static
- 存储在方法区,和堆栈不一样的一个空间
- 一个类里面static修饰的不能直接访问非static修饰的,而非static修饰的可以访问static修饰的;因为加载顺序的关系,static修饰的类创建则会初始化
- 实例变量(属性)
- 需要使用对象.变量名才可以访问
- 对象被实例化之后,实例变量的值就跟着确定,可以是赋值,也可以是默认值
- 生命周期
- 访问权限修饰符可以修饰实例变量,一般将属性私有化,提供对应的getter、setter方法
- 局部变量
- 声明在方法、构造方法、语句块、形式参数等
- 生命周期
- 访问权限修饰符不能用于局部变量
- 局部变量没有初始值,必须初始化后才能被使用
public class Person {
// 静态变量
public static final String CLASS_NAME = "人类";
// 属性
private String name;
public String getName() {
return name;
}
public void setName(String name) {
// 小括号中的变量就是局部变量,作用域只存在该方法中
this.name = name;
}
public static void main(String[] args) {
// 静态变量使用 类名.变量名
System.out.println(Person.CLASS_NAME);
// 属性使用 对象.属性名
Person person = new Person();
System.out.println(person.name);
/**输出结果:
* 人类
* null
*/
}
}