黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java內(nèi)部類的介紹及作用

Java內(nèi)部類的介紹及作用

更新時間:2022-08-29 10:58:30 來源:動力節(jié)點 瀏覽1619次

Java中的內(nèi)部類是什么?

Java內(nèi)部類在另一個類(也稱為外部類)中聲明,并且可以訪問外部類的私有成員。編譯器生成一個作為外部類成員的類,并且正是這個生成的類可以訪問創(chuàng)建它的范圍內(nèi)的私有變量或方法(例如,在另一個方法內(nèi))。

靜態(tài)嵌套內(nèi)部類與其他靜態(tài)成員類似,因為它們無法訪問外部類的實例變量。相反,非靜態(tài)內(nèi)部類可以訪問外部類的實例變量,因此能夠創(chuàng)建外部類的實例。

Java 內(nèi)部類的優(yōu)缺點

Java 中的內(nèi)部類比傳統(tǒng)類提供了許多好處。它們可用于訪問外部類的私有成員,可用于創(chuàng)建外部類的實例,還可用于創(chuàng)建匿名內(nèi)部類。

但是,在 Java 中使用內(nèi)部類也有一些缺點。它們會使您的代碼更難閱讀和調(diào)試,并且會增加代碼的整體復(fù)雜性。

內(nèi)部類的類型

內(nèi)部類分為四種類型:靜態(tài)、非靜態(tài)、本地和匿名。

靜態(tài)內(nèi)部類

這些是最簡單的內(nèi)部類。靜態(tài)內(nèi)部類是在類內(nèi)部聲明并標(biāo)記為靜態(tài)的那些。需要注意的是,這些類只能使用外部類的實例來訪問。您可以利用靜態(tài)嵌套類將相關(guān)類組合在一起。

非靜態(tài)內(nèi)部類

顧名思義,非靜態(tài)內(nèi)部類與外部類的實例相關(guān)聯(lián)。外部類的所有成員(變量和方法)都可以從這些類中訪問。

本地內(nèi)部類

本地內(nèi)部類在方法中定義。它們可以訪問封閉類的所有成員(變量和方法),但不能從定義它們的方法之外實例化它們。本地定義的內(nèi)部類只能在其定義的方法內(nèi)實例化。

方法本地內(nèi)部類只能在定義它的方法內(nèi)訪問,并且不能被定義它的方法之外的任何其他代碼引用。方法局部內(nèi)部類可以從封閉范圍訪問局部變量(包括最終變量)。

匿名內(nèi)部類

沒有名稱的內(nèi)部類也稱為匿名內(nèi)部類。匿名內(nèi)部類的聲明和實例化同時發(fā)生。匿名內(nèi)部類不能有顯式構(gòu)造函數(shù),就像所有本地內(nèi)部類一樣。當(dāng)您必須只使用一次本地內(nèi)部類時,匿名內(nèi)部類很有用。

Java 內(nèi)部類的要點

以下是在 Java 中使用內(nèi)部類時要記住的一些重要事項:

內(nèi)部類可以聲明為公共的、私有的或受保護的。

內(nèi)部類可以擴展任何類并實現(xiàn)任何接口。

需要注意的是,如果一個內(nèi)部類已經(jīng)被標(biāo)記為靜態(tài),它就不能訪問外部類的非靜態(tài)成員。它可以訪問外部類的靜態(tài)成員。

如果沒有外部類的實例,就不能創(chuàng)建內(nèi)部類或嵌套類的實例。

內(nèi)部類可用于編寫更模塊化和可重用的代碼。

如何在 Java 中編寫內(nèi)部類

以下代碼示例說明了如何在 Java 中實現(xiàn)內(nèi)部類:

公共類 MyOuterClass {
  公共類 MyInnerClass {
    公共無效顯示(){
      System.out.println("內(nèi)部類");
    }
  }
  公共靜態(tài)無效主要(字符串[]參數(shù)){
    MyOuterClass objOuterClass = new MyOuterClass();
    MyOuterClass.MyInnerClass objInnerClass = objOuterClass.new MyInnerClass();
    objInnerClass.display();
  }
}

以下代碼清單說明了如何在 Java 中實現(xiàn)靜態(tài)內(nèi)部類:

導(dǎo)入 java.util.*;
類 MyOuterClass {
    私有靜態(tài)無效方法A()
    {
        System.out.println("MyOuterClass 的內(nèi)部方法A");
    }
    靜態(tài)類 MyInnerClass { 
        公共靜態(tài)無效方法B()
        {
            System.out.println("MyInnerClass 的內(nèi)部方法B");
            方法A();
        }
    }
}
公共類 InnerClassDemo {
    公共靜態(tài)無效主(字符串參數(shù) [])
    {
        MyOuterClass.MyInnerClass obj = new MyOuterClass.MyInnerClass();
        obj.methodB();
    }
}

以上就是關(guān)于“Java內(nèi)部類的介紹及作用”的介紹,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的Java基礎(chǔ)教程,里面的課程內(nèi)容細致全面,適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 色原网站 | 久操手机在线视频 | 欧美一级片在线免费观看 | 久久久网站亚洲第一 | 亚洲xxxx动漫 | 亚洲欧美一区二区三区在线观看 | 成人高清在线观看播放 | 三级在线免费观看 | 人人看人人做 | 色天天综合色天天天天看大 | 成人网mm视频在线观看 | 一及黄色毛片 | 好色视频在线观看 | 日韩三级中文字幕 | 午夜影院性| 在线观看欧美日韩 | 欧美色图另类图片 | 日日摸夜夜摸狠狠摸97 | 在线免费观看黄色 | 国产成人综合亚洲亚洲欧美 | 久久亚洲成a人片 | 午夜视频a| 免费看h片的网站 | 国产成人啪精品视频免费网站软件 | 男女性爽大片视频男女生活 | 国产综合色香蕉精品五月婷 | 久草高清视频 | 成人丁香婷婷 | 久久精品a一国产成人免费网站 | 多人伦交性欧美精品欧 | 丝瓜着色的视频 | 又色又爽又黄的视频女女高清 | 免费v片在线观看视频网站 免费不卡中文字幕在线 | 成人性色大片 | 午夜看一级特黄a大片黑 | 亚洲午夜在线观看 | 国产一国产一级毛片视频在线 | 日韩免费视频一区 | 人人草视频在线观看 | 天天插视频 | 午夜性爽爽爽 |