好了,所以我认为有保护字段的意思是让变量只能由子类和具有受保护字段的类访问。制作子类或超类的对象不应该授予对这些字段的访问权限。如果我是正确的,那么这样的代码是如何正确编译的?我可以访问java以外的类中的受保护字段
//superclass
public class SuperClass{
protected int x = 5;
}
//main class with main method
public class MainClass{
public static void main(String[] args) {
SuperClass a = new SuperClass();
a.x = 8;
System.out.println(a.a);
}
}
这会打印出8,这意味着我修改了一个受保护的变量,它有他们的类之外......在Java中
did you mean System.out.println(a.x); ? – 2014-09-24 00:20:32
@ user889742 yea对不起 – 741236987 2014-09-24 00:35:09