主要区别
- 生命周期不同
(1)成员变量随着对象的创建而存在,随着对象的收回而收回。
(2)静态变量随着类的加载而加载,随着类的消失而消失。 - 调用方式不同
(1)成员变量只能被对象调用。
(2)静态变量可以被对象调用,还可以被类名调用。 - 别名不同
(1)成员变量也叫实例变量。
(2)静态变量也叫类变量。 - 数据位置不同
(1)在堆内存的对象中,因此也叫对象的特有数据。
(2)方法区的静态区,所以也叫对象的共享数据。
class StaticDemo{
static int num = 5;
public static void main(String[] args){
new StaticDemo().show();//正确,但是数据共享
}
}
网友评论