定义的位置作用范围默认值 内存位置不一样 生命周期不一样局部变量在方法内部只有方法内可以用没有默认值,想要使用必须赋值位于栈内存随着方法进栈而诞生,随着方法出栈而消失成员变量在方法外部直接写在类中整个类全都可以用有默认值规则和数组一样位于堆内存随着对象被创建而诞生,随着对象被垃圾回收而消失
举个例子:
先创建一个测试类:
package array;
public class Test {
public static void main(String[] args) {
int number=22;//局部变量
Person person=new Person();
}
}
再写一个实体类Person:
package array;
public class Person {
String name;//成员变量
String age;//成员变量
}
则程序执行流程如下: