我最近看到一个问题,下面这段代码的执行结果是什么。混淆为什么可以访问私有变量?
public class Sandys {
private int court;
public static void main(String argv[]){
Sandys s = new Sandys(99);
System.out.println(s.court);
}
Sandys(int ballcount){
court = ballcount;
}
}
我认为它不能执行,因为在main
我试图访问一个私有变量。
但是,此代码可以完美执行,结果为99
。所以我很困惑,为什么在这个代码中可以访问私有变量?虽然main
在Sandys
类,但是我创建一个新的Sandys
。我仍然可以访问main
中新的Sandys
对象的私有变量吗?
答案就在这里。 http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html – 2014-09-26 08:18:14
http://stackoverflow.com/questions/4707504/why-can-i-access-a-private-variable-from-主方法 – Jayan 2014-09-26 08:20:44