静态变量,局部变量,成员变量的区别
静态变量,成员变量,局部变量的区别
基础不牢,地动山摇。--记录自己薄弱的基础
变量是组成类的一部分。下面列举以上三种变量的5个不同点
--修饰符 各个变量的访问权限会受封装的修饰符影响,除此外
静态变量: 必须用static 修饰
成员变量:无
局部变量:无
--初始值
静态变量:系统会默认赋初始值,基本类型为0,引用类型为null
成员变量:与静态变量相同。
若静态变量和成员变量被final修饰,则必须显示赋值。
局部变量:在使用前必须显示赋值,行参的局部变量在调用该方法时也必须赋值。
--调用 即可以由谁来调用
静态变量:可以由类名调用 也可以由对象来调用,通常都是由类名来调用
成员变量:只能由对象调用
局部变量:在方法内被调用
--位置 不同的位置决定了他们不同的作用域
静态变量:位于类中
成员变量:位于类中
局部变量:位于成员方法中或者行参
--内存位置
静态变量:存放于方法区
成员变量:存放于堆区
局部变量:存放于虚拟机栈
--生命周期
静态变量:随着类的创建而创建,随类的卸载而销毁
成员变量:随着对象的创建而创建,对象回收而销毁
局部变量:随着方法调用而创建,调用结束而销毁