乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      java訪問權(quán)限修飾符

       李副營長 2013-04-19
      java訪問權(quán)限修飾符public  protected  friendly private用法總結(jié)  

           首先聲明:java中,friendly這個修飾符并沒有顯式的聲明,在成員變量和方法前什么修飾符也不用,默認(rèn)的就是friendly。 
          為了條理清晰,分三種不同情況來總結(jié)。 

         一 訪問權(quán)限修飾符修飾成員變量和方法 
         public:表明該成員變量和方法是共有的,能在任何情況下被訪問。 
         
         protected:必須在同一包中才能被訪問。(說的比較簡單,看個例子就明白了)    
             eg:class A 
                { 
                  protected int weight ; 
                  protected int f( int a,int b   )   
                  { 
                    // 方法體 
                  } 
                 }      
             假設(shè)B與A在同一個包中,則 
                 class B 
                { 
                  void g() 
                  { 
                    A a=new A(); 
                    A.weight=100;//合法 
                    A.f(3,4);    //合法 
                   } 
                 } 
         特別說明:什么是在同一個包中? 
         答:用package打包在一起的class ,叫在同一個包中。(不明白,舉個例子) 
             eg:在JDK的src\java\io中,你會看到許多java類,第一句源代碼都是package java.io; 
             沒有使用package打包的,在同一目錄下的類也會被視做同一個包。 
         
         friendly:在這種情況下中,同protected。區(qū)別在第二和第三種情況中。 
             eg: class A 
                { 
                  int weight ; 
                  int f( int a,int b   )   
                  { 
                    // 方法體 
                  } 
                 }      
             假設(shè)B與A在同一個包中,則 
                 class B 
                { 
                  void g() 
                  { 
                    A a=new A(); 
                    A.weight=100;//合法 
                    A.f(3,4);    //合法 
                   } 
                 } 
          private: 只能在本類中訪問。 
                   eg:    class   Test 
                          {  
                             private int money; 
                             Test() 
                             { 
                                money=2000; 
                             } 
                             private int getMoney() 
                             { 
                               return money; 
                              } 
                           public  static  void main(String args[]) 
                           { 
                               Test te=new  Test(); 
                               te.money=3000;             //合法 
                               int m=te.getMoney();       //合法 
                               System.out.println("money="+m); 
                            } 
                           } 
                         
         PS: 實際上,把重要的數(shù)據(jù)修飾為private,然后寫一個public的函數(shù)訪問它,正好體現(xiàn)了OOP的封裝特性,是OOP安全性的體現(xiàn)。 
          

      二  訪問權(quán)限修飾符修飾類 
         1,不能用protected和private修飾類。 
         2,用friendly修飾的類叫友好類,在另外一個類中使用友好類創(chuàng)建對象時,要保證它們在同一包中。 
         

      三   訪問權(quán)限修飾符與繼承 
         這里的訪問修飾符指的是修飾成員變量和方法??梢苑譃閮煞N情況: 
         1,子類與父類在同一包中 
          此時只有聲明為private的變量與方法不能被繼承(訪問)。 
         eg: 
           class Father 
           { 
             private int money ; 
             int weight=100; 
             
            } 
           class Son extends Father 
           { 
             viod f() 
             { 
               money=10000;//   非法 
               weight=100; //   合法 
              } 
            } 
          2,子類與父類不在同一包中 
          此時private與friendly均不能被繼承(訪問), protected與public可以。 
           eg: 
             Father.java 

            package com.aaa 
            public class Father 
           { 
             int height ; 
             protected  int money=120; 
             public int weight; 
             protected int getMoney() 
             { 
               return money; 
             } 
             void setMoney(int newMoney) 
             { 
               money=newMoney; 
             } 
            } 
           
            Son.java 
            package com.bbb 
            import com.aaa.Father; 
            public class Son extends Father 
            { 
               void f() 
               { 
                 money=10000;//合法 
                 //height=170;//非法,height為friendly修飾的變量 
                 System.out.println(money);//輸出結(jié)果是10000 
                 //setMoney(300);          //非法 
                 int number=getMoney();    //合法 
                 System.out.println(number);//輸出結(jié)果是10000 
                } 
                 public  static  void main(String args[]) 
                { 
                  Son sss=new Son(); 
                  sss.f(); 
                 } 
             } 
        所以,訪問權(quán)限修飾符權(quán)限從高到低排列是public  ,protected  ,friendly, private。 

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多