Java基础之成员变量、局部变量、静态变量

119 阅读1分钟

成员变量、局部变量、静态变量

  1. 语法形式上:成员变量属于类,局部变量属于代码块或方法中的变量或方法的参数
  2. 存储区:局部变量存储在栈内存中,成员变量属于对象的属性,与对象一起存在堆内存中
  3. 生存时间:局部变量随着方法的调用而产生,随着方法的调用结束而消亡;成员变量是对象的属性,随对象的创建而产生,对象销毁则消亡。
  4. 有无默认值:成员变量有默认值(当成员变量被final修饰时,必须显式赋值)
  5. 修饰符:两者均可被public、private、final修饰,成员变量可以被static修饰,此时其为静态变量
  6. 静态变量:可以被类的所有实例共享。⽆论⼀个类创建了多少个对象,它们都共享同⼀份静态变量。 通常情况下,静态变量会被 final 关键字修饰成为常量

 静态方法和实例方法

  1. 调用方式:调用静态方法无需实例化对象,可以用类名.方法名或者对象名.方法名的形式调用;实例方法仅可用对象名.方法名调用
  2. 访问类成员变量限制:静态方法访问本类成员时,仅允许访问静态成员(静态成员变量和静态方法);实例成员可访问本类所有静态成员和非静态成员