zoukankan      html  css  js  c++  java
  • Java中,权限修饰符的权限测试

    =============================================================================

    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 }

    在不同包下的无关类中,测试结果为:

     

    =============================================================================

  • 相关阅读:
    LDD3 第7章 Time,Delays and Deferred Work
    4412 gpio读取pwm
    LDD快速参考
    4412 4路pwm输出
    PCB六层板学习(一)
    STM32 TIM3 PWM输出 4路
    4412 学习目录总结
    4412 Linux定时器
    4412 SPI驱动
    4412 i2c驱动
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8456457.html
Copyright © 2011-2022 走看看