=============================================================================
1、
1 /*
2 权限修饰符的权限测试:
3
4 权限修饰符 本类中 同一个包下的子类和无关类 不同包下的子类 不同包下的无关类
5 private Yes No No No
6 默认 Yes Yes No No
7 protected Yes Yes Yes No
8 public Yes Yes Yes Yes
9 */
10
11 package com.liuyi;
12
13 class Father {
14 private void show() {
15 System.out.println("show");
16 }
17
18 void show2() {
19 System.out.println("show2");
20 }
21
22 protected void show3() {
23 System.out.println("show3");
24 }
25
26 public void show4() {
27 System.out.println("show4");
28 }
29
30 public static void main(String[] args) {
31 Father f = new Father();
32 f.show();
33 f.show2();
34 f.show3();
35 f.show4();
36 }
37 }
在本类中,测试结果为:
=============================================================================
2、
1 /*
2 权限修饰符的权限测试:
3
4 权限修饰符 本类中 同一个包下的子类和无关类 不同包下的子类 不同包下的无关类
5 private Yes No No No
6 默认 Yes Yes No No
7 protected Yes Yes Yes No
8 public Yes Yes Yes Yes
9 */
10
11 package com.liuyi;
12
13 class Father {
14 private void show() {
15 System.out.println("show");
16 }
17
18 void show2() {
19 System.out.println("show2");
20 }
21
22 protected void show3() {
23 System.out.println("show3");
24 }
25
26 public void show4() {
27 System.out.println("show4");
28 }
29 }
1 package com.liuyi;
2
3 class Son extends Father {
4 public static void main(String[] args) {
5 Father f = new Father();
6 //f.show();
7 f.show2();
8 f.show3();
9 f.show4();
10 System.out.println("--------------");
11
12 Son s = new Son();
13 //s.show();
14 s.show2();
15 s.show3();
16 s.show4();
17 }
18 }
在同一包下的子类中,测试结果为:(注意:在子类代码中分别测试了父类和子类)
=============================================================================
3、
1 /*
2 权限修饰符的权限测试:
3
4 权限修饰符 本类中 同一个包下的子类和无关类 不同包下的子类 不同包下的无关类
5 private Yes No No No
6 默认 Yes Yes No No
7 protected Yes Yes Yes No
8 public Yes Yes Yes Yes
9 */
10
11 package com.liuyi;
12
13 class Father {
14 private void show() {
15 System.out.println("show");
16 }
17
18 void show2() {
19 System.out.println("show2");
20 }
21
22 protected void show3() {
23 System.out.println("show3");
24 }
25
26 public void show4() {
27 System.out.println("show4");
28 }
29 }
1 package com.liuyi;
2
3 class Test {
4 public static void main(String[] args) {
5 Father f = new Father();
6 //f.show();
7 f.show2();
8 f.show3();
9 f.show4();
10 }
11 }
在同一包下的无关类中,测试结果为:
=============================================================================
4、
1 /*
2 权限修饰符的权限测试:
3
4 权限修饰符 本类中 同一个包下的子类和无关类 不同包下的子类 不同包下的无关类
5 private Yes No No No
6 默认 Yes Yes No No
7 protected Yes Yes Yes No
8 public Yes Yes Yes Yes
9 */
10
11 package com.liuyi;
12
13 public class Father {
14 private void show() {
15 System.out.println("show");
16 }
17
18 void show2() {
19 System.out.println("show2");
20 }
21
22 protected void show3() {
23 System.out.println("show3");
24 }
25
26 public void show4() {
27 System.out.println("show4");
28 }
29 }
1 package cn.qx;
2
3 import com.liuyi.Father;
4
5 public class Son2 extends Father { //Father在com.liuyi中不是公共的,无法从外部程序包中对其进行访问,需要在class Father前面加public修饰。
6 public static void main(String[] args) { //为了简便起见,以后所有的类的前面都加public修饰。
7 Father f = new Father();
8 //f.show();
9 //f.show2();
10 //f.show3();
11 f.show4();
12 System.out.println("--------------");
13
14 Son2 s = new Son2();
15 //s.show();
16 //s.show2();
17 s.show3();
18 s.show4();
19 }
20 }
在不同包下的子类中,测试结果为:(注意:在子类代码中分别测试了父类和子类)
=============================================================================
5、
1 /*
2 权限修饰符的权限测试:
3
4 权限修饰符 本类中 同一个包下的子类和无关类 不同包下的子类 不同包下的无关类
5 private Yes No No No
6 默认 Yes Yes No No
7 protected Yes Yes Yes No
8 public Yes Yes Yes Yes
9 */
10
11 package com.liuyi;
12
13 public class Father {
14 private void show() {
15 System.out.println("show");
16 }
17
18 void show2() {
19 System.out.println("show2");
20 }
21
22 protected void show3() {
23 System.out.println("show3");
24 }
25
26 public void show4() {
27 System.out.println("show4");
28 }
29 }
1 package cn.qx;
2
3 import com.liuyi.Father;
4
5 class Test2 {
6 public static void main(String[] args) {
7 Father f = new Father();
8 //f.show();
9 //f.show2();
10 //f.show3();
11 f.show4();
12 }
13 }
在不同包下的无关类中,测试结果为:
=============================================================================