100天代码提升计划-第24天

四种权限修饰符

public>protected>()>
  public 
protected
default
private
同一个类 Y Y Y Y
同一个包 Y Y Y N
不同包子类(继承)  Y Y N N
不同包非子类        












一、同一个包代码
package Modification;

public class SameClass {
    public int num=10;
    protected int num1=10;
    int num2=10;
    private int num3=10;
    public void method(){
        System.out.println(num);//10
        System.out.println(num1);//10
        System.out.println(num2);//10
        System.out.println(num3);//10
    }
}

结论:同一个类四种权限修饰符都可以调用

 

二、同一个包

代码

package Modification;

public class Samepackage {
    public  void methodsamepackage(){
        System.out.println(new SameClass().num);//public成功
        System.out.println(new SameClass().num1);//protected成功
        System.out.println(new SameClass().num2);//default成功
        //System.out.println(new SameClass().num3);//private失败

    }
}

结论:private失败其余三个成功

三、不同包子类(继承)

代码

package DifferentPackage;

import Modification.SameClass;

public class Different extends SameClass {
    public void  method(){
        System.out.println(super.num);//public成功
        System.out.println(super.num1);//protected成功
        //System.out.println(super.num2);//default失败
        //System.out.println(super.num3);//private失败
    }
}

 

结论:public与protected成功,default与private失败

四、不通报非子类

代码

package DifferentPackage;

import Modification.SameClass;

public class Strange {
    public void method(){
        System.out.println(new SameClass().num);//public成功
        //System.out.println(new SameClass().num1);//protected失败
        //System.out.println(new SameClass().num2);//default失败
        //System.out.println(new SameClass().num3);//private失败
    }
}

 

结论:public成功,protected,default与private失败

posted @ 2022-03-30 23:11  软测成长者  阅读(29)  评论(0)    收藏  举报