成员变量和局部变量的区别
-
定义位置不一样【重点】
局部变量:在方法的内部
成员变量:在方法外部,直接写在类当中。
-
作用范围不一样【重点】
局部变量:只有在方法中才可以使用,除了方法就不能再用
成员变量:整个类全都可以用。
-
默认值不一样【重点】
局部变量:没有默认值,如果想要调用必须进行手动赋值。
成员变量:没有赋值会有默认值,规则和数组一样
-
内存位置不一样(了解)
局部变量:位于占内存中
成员变量:位于堆内存中
-
生命周期不一样(了解)
局部变量:随着方法进栈而诞生,随着方法的出栈而消失
成员变量:随着对象的创建而诞生,随着对象被垃圾回收而消失。
PS : 方法的参数也是局部变量
参数再被调用的时候,必然会被赋值。
静态方法可以调用静态方法
非静态方法可以调用静态方法
静态方法不能调用非静态方法
举例如下: