在java中,如果方法,静态变量和类的变量被多次实例化为多次实例化类

  • 本文关键字:实例化 变量 java 静态 如果 方法 java jvm
  • 更新时间 :
  • 英文 :


在java中,如果方法,静态变量和类的变量被多次实例化为实例化类。

例如:

class Person {
    private String name;
    public static int age;
    public void getName() {
       return name;
    }
    public static void getAge() {
        return age;
    }
}

当实例类"Persion"3次时:

 Persion p1 = new persion();
 Persion p2 = new persion();
 Persion p3 = new persion();

如果变量 "name"、"age" 和函数 "getName((","getAge" 实例化 3 次?

变量"name"、"age"和函数"getName(("、"getAge(("是否实例化了 3 次?

  1. name不是static,因此它被实例化了三次
  2. agestatic的,因此它不是实例化三次
  3. 对于每个对象,getName()也是分开的
  4. getAge()static的,因此对所有对象都一样

static基本上意味着它在该类的所有对象中都是相同的。

静态变量只定义一次 - static关键字表示它不属于对象,而是属于类。

变量 name 不是static,因此将在创建对象时对其进行初始化。

因此,如果您创建三个Person对象,您将有 3 个name变量(对于每个Person对象,只有一个age静态变量。

java中static变量只能获取一个内存地址,即使创建了许多Persion的副本,也只能使用该方法static获取一次相同的内存地址,即使创建了许多Persion的副本,也只存储了一个内存

最新更新