局部变量和成员变量的区别
1.定义位置不同
局部变量:在方法的内部。
成员变量:在方法的外部,直接写在类当中。
public class Student {
private String name;//成员变量
private int age;//成员变量
public void method1(){
int num=20;//局部变量
}
}
2.作用范围不同
局部变量:在方法中可以使用,在方法外面不可以使用。
成员变量:整个类都可以使用。
3.默认值不一样
局部变量:没有默认值,想要使用必须,必须手动进行赋值。
成员变量:如果没有赋值,会有默认值,默认赋值如下。
4.内存的位置不一样
局部变量:位于栈内存。
成员变量:位于堆内存。
5.生命周期不一样
局部变量:随着方法进栈而诞生,随着方法出栈而消失。(通常生命较短)
成员变量:随着对象j创建而诞生,随着对象被垃圾回收而消失。(通常生命周期较长)