java語言內部類和匿名內部類

2021-09-07 02:27:29 字數 1033 閱讀 8177

內部類

在類定義也有類,在該類上的內部被稱為乙個內部類。

訪問功能:

1,內部類可以直接訪問外部類成員,它包含私有成員

2,外部類需要訪問內部類的成員將需要建立一流的內部物件。

一般用於類的設計。

分析事物時,發現該事物描寫敘述中還有事物,並且這個事物還在訪問被描寫敘述事物的內容。

這時就把還有的食物定義成內部類來描寫敘述。

直接訪問外部類中的內部類中的成員

class outer 

}class innerclassdemo

}

假設乙個內部類是靜態的。相當於乙個外部類,樣例例如以下

class outer 

}class innerclassdemo

}

注意:假設內部類中定義了靜態成員。該內部類也必須是靜態的。

內部類訪問外部類的樣例

class outer }}

class innerclass

}

為什麼內部類能直接訪問外部類中的成員?

由於內部類持有了外部類的引用。

外部類名.this 

區域性內部類

在區域性內部類中,要訪問外部類的區域性變數時,該區域性變數須要被final修飾。比較簡單就不粘**了。

匿名內部類

前提:內部類必須繼承乙個外部類或實現乙個介面。

匿名內部類:就是乙個匿名子類物件。

格式:new 父類 or 介面()

通常使用的場景:

當函式引數是介面型別時,並且介面中的方法不超過三個。能夠使用匿名內部類作為實際引數進行傳遞。

abstract class inter 

class innerclass

public void show2()

});} public static void show (inter in)

}

java基礎 內部類和匿名內部類

內部類 class a 編譯後的結果 內部類編譯後都是以這種形式 外部類 內部類 如何生成內部類 class test 注意點 class a b是a的內部類,b可以使用a的成員變數,但不是繼承它,僅僅是可以使用。匿名內部類 正常的程式 inte ce aclass b class aimpl im...

內部類和匿名內部類

內部類 取個類名inner 有三種 成員內部類 相當於類中的成員 1.可以訪問外部類的成員變數.2.類中的成員函式訪問內部類 建立內部類的物件進行訪問.如 inner in new inner 3.外部其他類 不是內部類的直接外部類 訪問內部類的成員建立物件.格式 外部類名 內部類名 變數名 new...

內部類和匿名內部類

把類定義在其他類的內部,這個類就被稱為內部類。舉例 在類 a 中定義了乙個類 b,類 b 就是內部類。內部類的訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類要訪問內部類的成員,必須建立物件。按照內部類在類中定義的位置不同,可以分為如下兩種格式 成員位置 成員內部類 一般內部類就是不讓外界...