静态变量和成员变量的区别?
所属不同:
静态变量:属于类。也称为类变量
成员变量:属于对象。也称为对象变量
内存中不同:
静态变量:在方法区中的静态区
成员变量:在堆内存中
生命周期不同:
静态变量:随着类的加载而加载。随着类的消失而消失
成员变量:随着对象的加载而加载,随着对象的消失而消失
调用不同:
静态变量:可以直接类名点调用,也可以创建对象调用(如果一个类中所有的方法都是静态的。那么需要多做一步:私有化构造方法)
成员变量:只能创建对象调用
成员变量和局部变量区别:
定义位置:
成员变量:定义在类中方法外
局部变量:定义在类中方法内或者方法声明上
内存中不同:
成员变量:在堆内存中
局部变量:在栈内存中
生命周期不同:
成员变量:随着对象的加载而加载,随着对象的消失而消失
局部变量:随着方法的调用而加载,随着方法的消失而消失
初始化值不同:
成员变量:有默认初始化值
局部变量:没有默认初始化值。使用前必须赋值
所属不同:
静态变量:属于类。也称为类变量
成员变量:属于对象。也称为对象变量
内存中不同:
静态变量:在方法区中的静态区
成员变量:在堆内存中
生命周期不同:
静态变量:随着类的加载而加载。随着类的消失而消失
成员变量:随着对象的加载而加载,随着对象的消失而消失
调用不同:
静态变量:可以直接类名点调用,也可以创建对象调用(如果一个类中所有的方法都是静态的。那么需要多做一步:私有化构造方法)
成员变量:只能创建对象调用
成员变量和局部变量区别:
定义位置:
成员变量:定义在类中方法外
局部变量:定义在类中方法内或者方法声明上
内存中不同:
成员变量:在堆内存中
局部变量:在栈内存中
生命周期不同:
成员变量:随着对象的加载而加载,随着对象的消失而消失
局部变量:随着方法的调用而加载,随着方法的消失而消失
初始化值不同:
成员变量:有默认初始化值
局部变量:没有默认初始化值。使用前必须赋值