zoukankan      html  css  js  c++  java
  • 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();//可访问    
                   }    
          }  

  • 相关阅读:
    智能推荐算法演变及学习笔记(三):CTR预估模型综述
    从中国农业银行“雅典娜杯”数据挖掘大赛看金融行业数据分析与建模方法
    智能推荐算法演变及学习笔记(二):基于图模型的智能推荐(含知识图谱/图神经网络)
    (设计模式专题3)模板方法模式
    (设计模式专题2)策略模式
    (设计模式专题1)为什么要使用设计模式?
    关于macOS上常用操作命令(持续更新)
    记录下关于RabbitMQ常用知识点(持续更新)
    EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
    SpringCloud教程二:Ribbon(Finchley版)
  • 原文地址:https://www.cnblogs.com/jiligalaer/p/4108609.html
Copyright © 2011-2022 走看看