1. 程式人生 > >public、protected、private訪問許可權修飾詞(原創)

public、protected、private訪問許可權修飾詞(原創)

1.private: 被private修飾的只能是同一個類的可以訪問,跨類都不行。(如果構造器被宣告成了private,則不可以通過new來新建一個物件,可以使用static的方法返回一個new物件)

 

2.什麼也不加的預設是包訪問控制權限:只有同一個包下的可以呼叫,跨包的類無法載入不是同一個包下的類(除非那個類加上public)。

             包test1

                  public class A

                  class  B

             包test2

                   public class  C  無法呼叫B

 

3.protected:主要是為了對繼承的類開放,沒繼承的類不開放

    public class demo4 {

        protected void method(){

            System.out.println("test");

         }

    }

public class demo5 extends demo4{

    @Override

    protected void method() {

        super.method();

     }

 }

class demo6{

    public void met(){

       demo4 demo=new demo4();

        // demo.method();

    }

 }

 

4.設定訪問許可權是為了防止一些原始碼被客戶端程式設計師修改。所以被設定為private的語句,客戶端程式設計師是無法訪問到的,設定成protected的語句,客戶端程式設計師只有在繼承那個類之後才能訪問到,不繼承的話無法訪問到。客戶端程式設計師可以訪問所有的public修飾的語句,對於預設不加修飾詞的語句,預設是包許可權,只有在同一個包下才可以訪問,不在一個包下不允許訪問。