成员变量和局部变量的区别:
区别一:定义的位置不同
成员变量定义在类中;局部变量定义在方法中以及语句里
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中;局部变量存储在栈内存的方法中
区别三:生命周期不同
成员变量随着对象的出现而出现,随着对象的消失而消失
局部变量随着方法的运行而出现,随着方法的弹栈而消失
区别四:初始化不同
成员变量因为在堆内存中,有默认初始化值
局部变量没有默认初始化值,必须初始化后才可以使用
静态变量和成员变量的区别:
什么时候定义静态变量呢?
当该成员变量的值,每一个对象都一致时(例如圆 中的3,14),就该对成员变量进行静态修饰
区别一:所属范围不同
静态变量所属于类,成员变量所属对象
静态变量也称为:类变量;成员变量也称为实例变量
区别二:调用不同:
静态变量可以被对象和类调用(一般用类名调用)
成员变量只能被对象调用
区别三:加载的时期不同
静态变量随着类的加载而加载
成员变量随着对象的加载而加载
区别四:内存存储区域不同
静态变量存储在方法区中
成员变量存储在堆内存中
注意:
static是成员修饰符,修饰的是方法和变量(成员变量)不能修饰局部变量
静态变量有默认初始化值,
private修饰成员(成员变量和成员方法(包括构造函数))