gpt4 book ai didi

java - 类的实例可以修改静态/类变量吗?

转载 作者:行者123 更新时间:2023-12-01 23:03:01 25 4
gpt4 key购买 nike

class Person {
public static int age = 10;
}

public class Application {
public static void main(String[] args) {

Person p = new Person();
p.age = 100;
System.out.println(Person.age);

Person.age = 22;
System.out.println(p.age);
}
}

我打印了 100 和 22。我假设类的实例无法访问/修改类/静态变量是错误的吗?

最佳答案

我认为您感到困惑的部分是静态的含义。 Person 类中的年龄变量将在 Person 的所有实例之间共享,并且可以通过以下方式访问:

Person.age = 100;

针对任何实例更改它:

Person p = new Person();   
p.age = 100;

给大家改一下,和调用一样

Person.age = 100;

以非静态方式更改它,即通过某个实例,只会使代码产生误导,让人们乍一看认为他们正在更改实例变量。您将收到有关此问题的编译器警告。

关于java - 类的实例可以修改静态/类变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23227076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com