1. 程式人生 > >Java內部類(成員內部類、靜態內部類、區域性內部類、匿名內部類)小結

Java內部類(成員內部類、靜態內部類、區域性內部類、匿名內部類)小結

內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類

如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動)

顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類

而心臟又在人體當中,正如同是內部類在外部內當中

例項1:內部類的基本結構

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 //外部類 class Out { private int age = 12; //內部類 class In { public void print() { System.out.println(age); } } } public class Demo { public static void main(String[] args) { Out.In in = new Out().new In(); in.print(); //或者採用下種方式訪問 /* Out out = new Out();
Out.In in = out.new In(); in.print(); */ } }

執行結果:12

從上面的例子不難看出,內部類其實嚴重破壞了良好的程式碼結構,但為什麼還要使用內部類呢?

因為內部類可以隨意使用外部類的成員變數(包括私有)而不用生成外部類的物件,這也是內部類的唯一優點

如同心臟可以直接訪問身體的血液,而不是通過醫生來抽血

程式編譯過後會產生兩個.class檔案,分別是Out.class和Out$In.class

其中$代表了上面程式中Out.In中的那個 .

Out.In in = new Out().new In()可以用來生成內部類的物件,這種方法存在兩個小知識點需要注意

  1.開頭的Out是為了標明需要生成的內部類物件在哪個外部類當中

  2.必須先有外部類的物件才能生成內部類的物件,因為內部類的作用就是為了訪問外部類中的成員變數

例項2:內部類中的變數訪問形式

1 2 3 4 5 6 7 8 9 10 11

相關推薦

思科項目1實戰(vlan靜態,單臂,浮動路由vrrp/standbynat端口映射,遠程等)

vlan vrrp 單臂路由 nat pc配地址:C1192.168.10.10192.168.10.1C2192.168.20.10192.168.20.1C3192.168.10.20192.168.10.1C4192.168.20.20192.168.20.1需求1:SW1(config

java匿名部類成員部類方法部類靜態部類

一、匿名內部類:必須繼承一個類或者實現介面,不能建立建構函式。 /** * 匿名內部類 * * @author: Rodge * @time: 2018年10月4日 下午3:44:03 * @version: V1.0.0 */ public class AnonymousInner

java基礎——————部類 靜態部類成員部類匿名部類

內部類包括四種類型:靜態內部類,例項(成員)內部類,匿名內部類,本地內部類(不多用) 主要分析前三種內部類的建立以及物件的建立和方法的如何呼叫 一、靜態內部類 1)訪問內部類的資料成員和方法 訪問內部類資料成員方法: 內部類物件直接呼叫 內部類物件呼叫外部類非靜態資料成員和方法:

Java部類成員部類靜態部類方法部類匿名部類

內部類 內部類是定義在一個類內部進行其他類結構的巢狀的操作。 為什麼存在內部類?1.首先看下內部類和不用內部類實現相同功能的程式碼: 不用內部類 //////不用內部類 class Outter { private String msg="pick";

JAVA部類成員部類區域性部類匿名部類靜態部類

    在Java中,可以將一個類定義在另一個類裡面或者一個方法裡面,這樣的類稱為內部類。廣泛意義上的內部類一般來說包括這四種:成員內部類、區域性內部類、匿名內部類和靜態內部類。下面就先來了解一下這四種內部類的用法。   1.成員內部類   成員內部類是最普通的內部類,它

Java靜態成員類及靜態部類的Builder模式構建物件靜態部類構建單例模式

一、什麼是巢狀類 巢狀類是指被定義在另一個類的內部的類。巢狀類存在的目的應該只是為他的外圍類提供服務。如果巢狀類將來可能會用於其他的某個環境中,它就應該是頂層類。巢狀類有四種:靜態成員類、非靜態成員類、匿名類和區域性類。除了第一種之外,其他三種被稱為內部類。

Java部類(成員部類靜態部類區域性部類匿名部類)小結

內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動) 顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類

Java-為什麼非靜態部類裡面不能定義靜態方法靜態成員變數靜態初始化塊?

首先要明確一點: static修飾方法、成員變數是屬於類自己的。並不屬於特定的某個物件。所以我們可以像這樣使用static修飾的方法、變數:ClassName.methodName、ClassName

java部類成員部類靜態部類

內部類其實就是一個類中還包含著另外一個類 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動)顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類,而心臟又在人體當中,正如同是內部類在外部內當

六個例項教你正確使用Java部類成員部類匿名部類靜態部類區域性部類

內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動) 顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類

java基礎15 部類(成員部類局部內部類)和匿名部類

body static 目前 還需 sleep imp 右下角 你好 private 一、內部類 1.1.1、成員內部類 一個類定義在另一個類的內部,那麽該類就叫作成員內部類 1.1.2、成員內部類訪問方式 方式一:在外部類中提供一個方法創建內部類的對

java之單例模式:餓漢式懶漢式雙重校驗鎖列舉靜態部類

一、餓漢式: /** * 餓漢式: * 不存在多執行緒同步問題,當類被載入時,初始化並分配記憶體空間; * 當類被解除安裝時,才釋放所佔記憶體,因此在某些特定條件下會耗費記憶體。 * * @author: Rodge * @time: 2018年10月4日 下午4:35:12 * @

“全棧2019”Java第七十一章:外部類訪問靜態部類成員詳解

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第七十一章:外部類訪問靜態內部類成員詳解 下一章 “全棧2019”Java第七十二章:靜態內

“全棧2019”Java第七十二章:靜態部類訪問外部類成員

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第七十二章:靜態內部類訪問外部類成員 下一章 “全棧2019”Java第七十三章:外部類裡多

“全棧2019”Java第七十六章:靜態靜態部類訪問權限

inf 內部類 靜態 alt intel com 詳解 int 文章 難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文鏈接 “全棧2019”Java第七十六章:靜態、非靜

“全棧2019”Java第七十六章:靜態靜態部類訪問許可權

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第七十六章:靜態、非靜態內部類訪問許可權 下一章 “全棧2019”Java第七十七章:抽象內

Java中的巢狀類部類靜態部類

在Java中我們在一個類的內部再定義一個類,如下所示:class OuterClass { ... class NestedClass { ... } }那麼在上面的例子中我們稱OuterClass為外圍類(enclosing clas

Java部類靜態區域性類詳解

先看一個例子: class TalkingClock { private int interval; private boolean beep; public TalkingClock(int interval,boolean be

java部類總結 問題:部類靜態部類區別使用場景?

問題:內部類、靜態內部類區別、使用場景?1.靜態內部類可以有靜態成員(方法,屬性),而非靜態內部類則不能有靜態成員(方法,屬性)。2.靜態內部類只能夠訪問外部類的靜態成員,而非靜態內部類則可以訪問外部類的所有成員(方法,屬性)。3.例項化方式不同:(1)例項化成員內部類“”通

Java部類靜態部類列舉類

一、內部類 在另一個類中定義的類 內部類作用 1、內部類提供了更好的封裝。只能讓外部類直接訪問,不允許同一個包中的其他類直接訪問。 2、內部類可以直接訪問外部類的私有屬性,內部類被當成其外部類成員。當外部類不能訪問內部類的內部屬性。 內