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

局部变量
  定义在方法内或语句块内。
  从属于方法或语句块。
  使用之前,必须要手动初始化!
成员变量(实例变量field)
  定义在类里面、方法外面。
  从属于对象!
  如果我们没有手动初始化成员变量,系统会自动初始化。初始化的规则如下:
    数字: 0,0.0,布尔: false,char:\u0000,引用类型: null
静态变量(类变量)
  定义在类里面、方法外面、使用static 修饰。从属 于类!
  如果我们没有手动初始化静态变量,系统会自动初始化。初始化规则同成员变量。

成员变量和局部变量的区别

  1. 从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及static 所修饰;但是,成员变      量和局部变量都能被final 所修饰;
  2. 从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存局部变量存在于栈内存

  3. 从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失。
  4. 成员变量如果没有被赋初值,则会自动以类型的默认值而赋值(一 种情况例外被final修饰的成员变量也必须显示地赋值);而局部变量则不会自动赋值,必须显示赋初值



posted @ 2020-07-03 08:37  FireCode  阅读(237)  评论(0编辑  收藏  举报