自己对protected的理解:
package c;
//父类
public class c {
protected int id;
protected void test() {
System.out.print("c");
}
}
package s;
import c.c;
import q.Q;
import t.T;
//父类C,包在c
public class S extends c{
void accessProtected() {
id=5;
test();
S s=new S();
s.id=6;
s.test();
Q q=new Q();
q.id=5;
q.test();
}
//此外通过E.id访问(在C子类S的内部),则E必须是S或者S的子类(注意不是C)
//错误案例:
// c c = new c();
// c.id;
// c.test();
//T t = new T();
// t.id;
// t.test();
}
package q;
import s.S;
public class Q extends S{
//父类为S,包在s
}
package t;
import c.c;
public class T extends c{
//父类为C,包在t
}