Tôi biết rằng điều này đã được hỏi trước trong diễn đàn này nhưng tôi sẽ hỏi lại vì tôi không thấy bất kỳ câu trả lời hay nào (cho đến nay).Java: Hạn chế truy cập được bảo vệ cho lớp con trên đối tượng siêu lớp
Ở đây nó đi:
package a;
public class A{
protected int a;
}
package b;
public class B extends A{
}
package c;
public class C extends B{
public void accessField(){
A ancient = new A();
ancient.a = 2; //A - That wouldn't work.
a = 2; //B - That works.
}
}
Tại sao khoản A) sẽ không làm việc? Lý do đằng sau hạn chế này đối với quyền truy cập cổ đại đối tượng siêu lớp trong phân lớp C là gì?
Cảm ơn.
Tôi đoán một bước kế thừa ở đây là không cần thiết để minh họa trường hợp. – Vitaly
@HovercraftFullOfEels Tôi đoán câu hỏi lý thuyết hơn là thực tế nhưng không thú vị. – assylias