zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    loj 1257 (求树上每一个点到树上另一个点的最长距离)
    loj 1032 数位dp
    loj 1030概率dp
    loj1011 状态压缩
    java大数取模
    求阶乘的位数
    loj 1426(dfs + bfs)
    携程greenlet模块使用
    如何让socket编程非阻塞?
    分别用request和socket给百多发送请求
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465282.html
Copyright © 2011-2022 走看看