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

时间:2017-04-11 05:23:00

标签: 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次?

3 个答案:

答案 0 :(得分:1)

  

变量“name”,“age”和函数“getName()”,“getAge()”是否实例3次?

  1. name不是static,因此实例三次
  2. agestatic,因此未实例三次
  3. getName()对于每个对象也是
  4. getAge()static因此对所有对象都相同
  5. static基本上意味着它与该类的所有对象相同

答案 1 :(得分:0)

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

变量name不是static所以它会在创建对象时初始化。

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

答案 2 :(得分:0)

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