內部類(取個類名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...