• java 修饰符的作用一(public protected default private 组)


    1.public protected default private 组

      public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问。

       java 默认的权限是default,即friendly(注:friendly 在java中没有,是c的说法。) 同类,同包,同包子类父类都可以访问。

       protected受保护的,同类,同包,同包子类父类,不同包子类父类都可以访问

       private 私有的权限最小,同类可以访问。 

       图如下:

          位置                           private 默认 protected public 
    同一个类                           是        是           是       是 
    同一个包内的类                 否        是           是       是 
    不同包内的子类                 否        否           是       是 
    不同包并且不是子类          否        否           否       是 

    public 访问权限最高,不论是不是同一个包或是否是子类 都可以访问 
    protected 其次只有是不同包且不是子类的无法访问外,其它均可 
    默认级别 次之,要求只能是同一个包中的类才能访问 
    private 只能是同一个类才能访问 

    这些修饰符可以修饰方法或者属性,但是类只能用public 或者不写.

    实例:

    package test;

    //访问修饰符的使用
    public class PublicClass{

             public String publicVariable = "publicVariable" ;
             private String privateVar = "private var";
             protected String protectedVar ="protected var";
             String defaultVar="defaultVar";

             public void showPublic(){
                       System.out.println("showPublic method!");
                  }

             public void showProtected(){
                       System.out.println("Show protected method!");
                  }

             void showDefault(){
                       System.out.println("Show default method!");
                  }

             private void showPrivate(){
                       System.out.println("Nobody will access!");
                  }

         }


    Java代码 
    package test;    
       
    //import test.PublicClass;    
    class TestPublic{    
             private String var =" private variable in class-Test!";    
                 
             public static void main(String args[]){    
                        TestPublict = new TestPublic();    
                        PublicClass pClass = new PublicClass();    
                       //另外一个类中的共有属性和方法是可以被外界所访问的    
                        System.out.println("可以访问到的资源属性:"+pClass.publicVariable);//可访问    
                        pClass.showPublic();       // 可访问    
                       //以下两条编译错误,在另外一个类中的私有方法是访问不到的         
                       //System.out.println("可以访问到的资源属性:"+pClass.privateVariable );      //不能访问    
                     //    pClass.showPrivate();        //不能访问    
                    //私有变量自己可以访问    
                      System.out.println("私有变量自己可以访问"+t.var);    
                      //protected 成员可以被该类的成员和子类的成员访问。    
                      // 还可以被同一个包中内的其他类成员访问    
                      System.out.println("可以访问到的资源属性:"+pClass.protectedVar);//可访问    
                      pClass.showProtected();//可访问    
                      System.out.println("可以访问到的资源属性:"+pClass.defaultVar);//可访问    
                      pClass.showDefault();//可访问    
                   }    
          }  

  • 相关阅读:
    [LeetCode] 965. Univalued Binary Tree
    [LeetCode] 811. Subdomain Visit Count
    [LeetCode] 509. Fibonacci Number
    [LeetCode] 1200. Minimum Absolute Difference
    [LeetCode] 590. N-ary Tree Postorder Traversal
    input单选框美化——自定义样式
    input单选框——获取选中值和设置选中值
    [LeetCode] 933. Number of Recent Calls
    mysql 一次性插入的数据量过大报错max_allowed_packet解决方法
    springboot+mybatis+达梦数据库
  • 原文地址:https://www.cnblogs.com/jiligalaer/p/4108609.html
Copyright © 2020-2023  润新知