首页 > 代码库 > 关于“在本类中访问本类私有静态变量”的一点疑惑解析

关于“在本类中访问本类私有静态变量”的一点疑惑解析

关于“在本类中访问本类私有静态变量”的一点疑惑解析

代码如下:

public class StaticVar {

	private static int x = 100;

	public static void main(String[] args) {

		StaticVar var1 = new StaticVar();
		var1.x++;

		StaticVar var2 = new StaticVar();
		var2.x++;

		StaticVar.x++;

		System.out.println(x);// 103
	}
}

疑惑:为什么 " var1 "、" var2 "、" StaticVar " 都可以访问 x ?


解析:虽然 " var1.x "、" var2.x "、" StaticVar.x " 访问 x 的形式不同,但是它们本质上都是在 StaticVar 类中访问  StaticVar 的 x ,符合 “私有变量只能在本类中访问” 的原则,所以代码可以这么写。

关于“在本类中访问本类私有静态变量”的一点疑惑解析