日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

C/C++、Java、Go、Python總結對比14-public

系統 2034 0

java的類中,這3個關鍵詞的用法有所區別,先看一個表格:

C/C++、Java、Go、Python總結對比14-public、protect和private使用2-java_第1張圖片

private

大多數成員變量都是修飾符為private的,它們不希望被其他任何外部的類訪問。只能被類內部的成員函數訪問。

default

它是針對本包訪問而設計的,任何處于本包下的類、接口、異常等,都可以相互訪問,即使是父類沒有用protected修飾的成員也可以。

protected

主要的作用就是用來保護子類的。它的含義在于子類可以用它修飾的成員,其他的不可以,它相當于傳遞給子類的一種繼承的東西

public

這個就不用說了,任何地方都可以訪問

下面上代碼說明。

src下面packageone文件夾,Alpha.java

            
              package packageone;

public class Alpha {
    public void test()  //通過定義public成員函數來讓實例訪問不能直接對外
    {
        this.pub();
        this.pro();
        this.def();
        this.pri();
    }

    public void pub()  //定義public成員函數
    {
        System.out.println( "public");
    }

    protected void pro()  //定義protected成員函數
    {
        System.out.println( "protected");
    }

    void def()  //定義default成員函數
    {
        System.out.println( "default");
    }

    private void pri()  //定義private成員函數
    {
        System.out.println( "private");
    }
}

            
          

src下面packageone文件夾,Beta.java

            
              package packageone;

public class Beta {
    public void test()
    {
        Alpha alpha = new Alpha();
        alpha.pub();
        alpha.pro();
        alpha.def();
//        alpha.pri();  //錯誤,不能訪問
    }
}

            
          

src下面packagetwo文件夾,AlphaSub.java

            
              package packagetwo;

import packageone.Alpha;

public class AlphaSub extends Alpha {
    public void test()
    {
        super.pub();
        super.pro();
//        super.def();  //錯誤,不能范文
//        super.pri();  //錯誤,不能范文
    }
}

            
          

src下面packagetwo文件夾,Gamma.java

            
              package packagetwo;

import packageone.Alpha;

public class Gamma {
    public void test()
    {
        Alpha alpha = new Alpha();
        alpha.pub();
//        alpha.pro();  //錯誤,不能訪問
//        alpha.def();  //錯誤,不能訪問
//        alpha.pri();  //錯誤,不能訪問
    }
}

            
          

主函數Test.java

            
              import packageone.Alpha;

public class Test {
    public static void main(String[] args)
    {
        new Alpha().test();
    }
}

            
          

對比總結:

  1. private只能在類部被訪問;public全局可訪問;
  2. protected和default的區別在于default只能在當前包內被訪問;

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 萍乡市| 广东省| 伊宁市| 商水县| 玉山县| 益阳市| 宁明县| 曲沃县| 仙桃市| 黄大仙区| 苏尼特左旗| 郧西县| 吉林市| 库伦旗| 万山特区| 凤凰县| 阜平县| 卢氏县| 临城县| 江陵县| 烟台市| 金寨县| 邢台市| 黄骅市| 湖南省| 儋州市| 西平县| 邹城市| 永春县| 郓城县| 西华县| 江源县| 乌兰浩特市| 丹凤县| 鹿泉市| 海盐县| 鹰潭市| 山西省| 莲花县| 乳源| 遵义市|