好了,所以我認爲有保護字段的意思是讓變量只能由子類和具有受保護字段的類訪問。製作子類或超類的對象不應該授予對這些字段的訪問權限。如果我是正確的,那麼這樣的代碼是如何正確編譯的?我可以訪問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