成员变量(成员属性)和局部变量(区域变量)是在Java中两种不同类型的变量,它们有着不同的作用、生命周期和范围。
-
成员变量(成员属性,在类之内方法之外,可不用赋值、初始化即可用):
-
成员变量是定义在类中的变量,用于描述对象的状态。它们属于对象,每个对象都有一份自己的成员变量。
-
成员变量可以具有不同的访问修饰符,如
public
、private
、protected
或默认(包私有)。 -
成员变量的生命周期与对象的生命周期相同,当对象被创建时分配内存,当对象被销毁时释放内存。
public class Car { // 成员变量,表示汽车的型号 String model; // 成员变量,表示汽车的生产年份 int year; }
局部变量(区域变量,方法内有效,需要先赋值、初始化才能用):
-
局部变量是在方法、构造方法或块中定义的变量,用于临时存储数据。它们只在声明它们的区域(方法、构造方法或块)内有效。
-
局部变量没有访问修饰符,因为它们的作用范围已经由定义它们的区域限制了。
-
局部变量的生命周期从其声明处开始,直到定义它的区域结束。一旦方法或块执行完毕,局部变量就会被销毁。
public class Calculator { // 成员方法,示例中的 m 和 n 是局部变量 public int add(int m, int n) { // 局部变量,sum 只在这个方法中有效 int sum = m + n; return sum; } }
两者在同一代码中演示
public class pet { String name;// 成员变量 int age;// 成员变量 String furcolour;// 成员变量 String sex; // 成员变量 public void eat() { String name="wangwang"//区域变量 System.out.println(name+"在吃东西");//此处name优先取区域变量即wangwang,若想采用成员变量则this.name
-