静态变量、属性、局部变量

  • 类变量(静态变量)
    • 使用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
         */
    }
}
posted @ 2021-01-16 18:53  Gen2021  阅读(118)  评论(0)    收藏  举报