- 声明的位置
(1)成员变量:类中方法外
(2)局部变量:方法()的形参列表中;方法体{}中;代码块中 - 运行时在内存中的位置
(1)成员变量:
类变量:方法区中;实例变量:堆
(2)局部变量:
native方法中的局部变量:本地方法栈
非native方法中的局部变量:虚拟机栈 - 修饰符
(1)成员变量:四种权限修饰符,static,final
(2)局部变量:final - 生命周期
(1)类变量:每一个对象是共享的
随着类的加载而分配空间,随着类的卸载而消亡
(2)实例变量:每一个对象是独立的
随着对象的创建而分配空间,随着对象被垃圾回收而回收
(3)局部变量:方法调用时,在栈中分配空间,方法调用结束就消亡 - 作用域
(1)类变量:在本类中随便使用,在其它类中可用“类名.”或“对象名.”
(2)实例变量:在本类中除了静态成员中不能用,其它随便用,在其它类中,用“对象名.”
(3)局部变量:有作用域,超过作用域就不能使用 - 初始化
(1)成员变量:若未初始化,有默认值
(2)局部变量:若未初始化,会报错