在java中,如果方法、静态变量和类的变量被多次实例化,就如同多次实例化类一样

在java中,如果方法、静态变量和类的变量被多次实例化,就如同多次实例化类一样,java,jvm,Java,Jvm,在java中,如果方法、静态变量和类的变量被多次实例化,就如同多次实例化类一样 例如: class Person { private String name; public static int age; public void getName() { return name; } public static void getAge() { return age; } } 当实例类“person”3次时: 如果变

在java中,如果方法、静态变量和类的变量被多次实例化,就如同多次实例化类一样

例如:

class Person {
    private String name;
    public static int age;

    public void getName() {
       return name;
    }

    public static void getAge() {
        return age;
    }
}
当实例类“person”3次时:


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

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

变量
name
不是
static
,因此在创建对象时将初始化它


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

在java
静态
变量中,使用
静态
方法仅获取一个相同的内存地址,即使您创建多个Person的副本,也只存储一个内存

变量“name”、“age”和函数“getName()”是否实例化了3次

  • 名称
    不是
    静态
    ,因此它是实例化三次
  • age
    静态的
    ,因此它不是三次实例化的
  • getName()
    对于每个对象也是独立的
  • getAge()
    静态的
    因此所有对象都是相同的

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

    很快,所有成员都会被实例化。
     Persion p1 = new persion();
     Persion p2 = new persion();
     Persion p3 = new persion();