1.同一个包中的同一类
package demo1;
public class Test1 {
protected int a = 10;
protected void b() {
System.out.println("这是protected修饰的成员方法");
}
public static void main(String[] args) {
Test1 test = new Test1();
System.out.println(test.a);
test.b();
}
}
2.同一个包中的不同类
新建一个公共类
package demo1;
public class Test2 {
public static void main(String[] args) {
Test1 t = new Test1();
t.b();
}
}
一个公共类,一个子类
package demo1;
class A {
protected int a = 10;
protected void b() {
System.out.println("这是protected修饰的成员方法");
}
public void c() {
System.out.println(a);
b();
}
}
public class Test1 {
public static void main(String[] args) {
A a = new A();
a.c();
}
}package demo1;
public class Test2 {
public static void main(String[] args) {
Test1 t = new Test1();
t.c();
}
}
3.不同包中的子类
package demo2;
import demo1.Test1;
public class Test3 extends Test1 {
public void func() {
System.out.println(super.a);
super.b();
}
public static void main(String[] args) {
Test3 t = new Test3();
t.func();
}
}