package com.sun.hust.student;
public class ClassA {
protected int age;
void functionProtected(){
System.out.println("functionProtected");
}
}
package com.sun.hust.student;
public class ClassB extends ClassA {
}
package com.brackeen.javagamebook.util;
import com.sun.hust.student.ClassA;
public class ClassC extends ClassA {
}
package com.sun.hust.student;
import com.brackeen.javagamebook.util.ClassC;
public class Test1{
public static void main(String[] args) {
ClassA a = new ClassA();
a.functionProtected();
a.age = 10;
ClassB b = new ClassB();
b.functionProtected();
b.age=10;
ClassC c = new ClassC();
c.age=10;
}
}
package com.brackeen.javagamebook.util;
import com.sun.hust.student.ClassA;
import com.sun.hust.student.ClassB;
public class Test2 {
public static void main(String[] args) {
ClassA a = new ClassA();
// a.functionProtected();
// a.age = 10;
ClassB b = new ClassB();
// b.functionProtected();
// b.age=10;
ClassC c = new ClassC();
}
}
B和C继承A,A 、B和Test1在同一个包中,C和test2在一个包中,Test1可以访问A的包访问权方法,test2不能。B和C继承了A的protected成员,但是只有和A在同一个包的类中才可以访问。B继承了A的包访问权限方法,C没有继承。
类的访问权限有两种 包访问和public,如果是包访问只能在同一个包中的类来使用它。