通过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
}
}
回答:
通常,每个人都可以访问公共变量,并且只能从该类的当前实例内部访问私有变量。在您的示例中,您被允许x
从main
方法中访问变量,因为该方法在Static类内。
如果您想知道为什么为什么要允许您从静态类的另一个实例(而不是当前实例)访问它(通常不允许使用私有变量),这仅仅是因为静态变量不存在于静态类中。每个实例,但每个班级。这意味着可以从
A的 所有实例访问 A 的相同静态变量。 __
如果不是这种情况,则根本没有人可以访问私有静态变量,因为它不属于 一个 实例,而是所有实例。
以上是 通过Java中的对象引用访问静态变量 的全部内容, 来源链接: utcz.com/qa/413604.html