內部類和匿名內部類

2021-06-16 22:41:33 字數 970 閱讀 8741

內部類(取個類名inner)有三種:

成員內部類(相當於類中的成員)

1.可以訪問外部類的成員變數.

2.類中的成員函式訪問內部類(建立內部類的物件進行訪問.

如:inner in= new inner();)

3.外部其他類(不是內部類的直接外部類)訪問內部類的成員建立物件.

格式 外部類名

.內部類名

變數名= new

外部類名

().new

內部類名();

靜態內部類(也是在成員位置上):

1,不能訪問外部類中非靜態的成員變數.

2,外部其他類要訪問內部類的成員要建立物件.

格式:外部類名

.內部類名

變數名=new

外部類名

.內部類名

();成員內部類(在方法內)

1,只能在方法內建立內部類的物件

格式:內部類名

變數名= new

內部類名

();

2,內部類可以訪問外部類和自己本類中的成員變數,但若要訪問方法的區域性變數

,這個區域性變數要用

final修飾.

匿名內部類:就是沒有類名,乙個匿名內部類相當於乙個子類物件.(父類中的方法小於3個的時候用)

匿名內部類一定要繼承父類或實現介面.

格式:new

父類名(

或介面名

) ()

1,整體相當於乙個子類物件,所有後面可以直接加

.類中的方法

,就可以呼叫方法.

如:new inner().show();

2,還可以用父類(介面

)的引用指向這個子類物件

,就可以呼叫父類中已有的方法.

object  c = new object(){

c.tostring();//這是object類中已有的,不能呼叫子類中特有的方法(多型).

內部類和匿名內部類

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

內部類和匿名內部類

內部類訪問特點 1,內部類可以直接訪問外部類中的成員。2,外部類要訪問內部類,必須建立內部類的物件 用於類的設計 分析事物時,發現該事物描述中還有事物,而且這個事物還在訪問被描述事物的內容,這時就是還有的事物定義成內部類來描述。class outer static void function 如果內...

內部類和匿名內部類

1.定義在乙個類裡邊函式之外的內部類,成員變數的書寫位置是相同的 2.巢狀內部類的類 被稱作外部類 3.為什麼要使用內部類,此類只在當前 類中 檔案中 使用 4.一般成員內部類建立物件,只在它所屬的外部類中建立 for example public class snippet class mothe...