• JAVA_SE基础——59.权限访问修饰符


    了解了包的概念,就可以系统的介绍Java中的访问控制级别。在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。


    权限访问修饰符(权限从大到小依次往右排)
      public(公共) protected(受保护) default(缺省) private(私有)
    同一个类
    同一个包 ×
    子父类 × ×
    不同包 × × ×

    public 和 private 在这里我就不一一介绍了,想必大家比我还熟悉了吧。
    还有protected和default 在同一个类中  我也不验证了(因为最小权限的private都可以在同一个类中互相访问,这两个也肯定可以了)



    验证protected修饰的属性 在同一个包能不能被访问。:
    package d;
    class Demo7 {
    	
    		protected int a = 1 ;
    	
    }
    
    package d;
    public class Demo8 {
    	public static void main(String[] args) {
    		Demo7 z = new Demo7();
    		System.out.println("a="+z.a);
    	}
    }
    
    运行结果:

    能访问的到!

    验证default(缺省)修饰的属性 在同一个包能不能被访问。:

    package d;
    class Demo7 {
    	int a = 1 ;	
    }
    
    package d;
    public class Demo8 {
    	public static void main(String[] args) {
    		Demo7 z = new Demo7();
    		System.out.println("a="+z.a);
    	}
    }
    
    运行结果:


    能访问的到!


    验证protected修饰的属性 在子父类中能不能被访问。:
    package d;
    class Demo7 {
    	protected int a = 1 ;	
    }
    
    package d;
    public class Demo8 extends Demo7 {
    	public static void main(String[] args) {
    		Demo8 z = new Demo8();
    		System.out.println("a="+z.a);
    	}
    }
    运行结果:


    能访问的到!


    验证default(缺省)修饰的属性 在子父类中能不能被访问。:

    package d;
    class Demo7 {
    	int a = 1 ;	
    }
    package e;
    import d.*;
    public class Demo8 extends Demo7 {
    	public static void main(String[] args) {
    		Demo8 z = new Demo8();
    		System.out.println("a="+z.a);
    	}
    }
    
    运行结果:


    不能访问的到!

    验证protected修饰的属性 在不同包中能不能被访问。:
    package d;
    class Demo7 {
    	protected int a = 1 ;	
    }
    
    package e;
    import d.*;
    public class Demo8{
    	public static void main(String[] args) {
    		Demo7 z = new Demo7();
    		System.out.println("a="+z.a);
    	}
    }
    
    运行结果:


    不能访问的到!

    验证default(缺省)修饰的属性 在不同包中能不能被访问。:

    package d;
    class Demo7 {
    	int a = 1 ;	
    }
    package e;
    import d.*;
    public class Demo8{
    	public static void main(String[] args) {
    		Demo7 z = new Demo7();
    		System.out.println("a="+z.a);
    	}
    }
    运行结果:

    不能访问的到!


    交流企鹅:654249738,和自学者交流群:517284938

  • 相关阅读:
    10465
    移动Web开发图片自适应两种常见情况解决方案
    [置顶] Spring的DI依赖实现分析
    Android中两种设置全屏或者无标题的方法
    Esper系列(十二)Variables and Constants
    Esper系列(十一)NamedWindow语法Merge、Queries、Indexing、Dropping
    Esper系列(十)NamedWindow语法delete、Select+Delete、Update
    Esper系列(九)NamedWindow语法create、Insert、select
    Esper系列(八)Method Definition、Schema
    Docker系列(五)OVS+Docker网络打通示例
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465282.html
Copyright © 2020-2023  润新知