通过Java中的对象引用访问静态变量

为什么我们可以通过Java中的对象引用访问静态变量,如下面的代码?

public class Static {

private static String x = "Static variable";

public String getX() {

return this.x; // Case #1

}

public static void main(String[] args) {

Static member = new Static();

System.out.println(member.x); // Case #2

}

}

回答:

通常,每个人都可以访问公共变量,并且只能从该类的当前实例内部访问私有变量。在您的示例中,您被允许xmain方法中访问变量,因为该方法在Static类内。

如果您想知道为什么为什么要允许您从静态类的另一个实例(而不是当前实例)访问它(通常不允许使用私有变量),这仅仅是因为静态变量不存在于静态类中。每个实例,但每个班级。这意味着可以从

A的 所有实例访问 A 的相同静态变量。 __

如果不是这种情况,则根本没有人可以访问私有静态变量,因为它不属于 一个 实例,而是所有实例。

以上是 通过Java中的对象引用访问静态变量 的全部内容, 来源链接: utcz.com/qa/413604.html

回到顶部