內部類:內建類,巢狀類。
將類定義在另乙個類中,該類就是內部類。類中定義的類中就是內部類。其實類的定義位置發生了一點小變化。
訪問方式:
內部可以直接訪問外部類中的成員。
外部類想要訪問內部類,需要建立內部類物件。
什麼時候定義內部類呢?
當分析乙個事物時,該事物的內部還有具體的事物,這個具體的事物在使用該事物中的其他成員。這時就將這個具體的事物用內部類來描述。
內部類通常都不會直接對外提供,都會封裝到外部類中,外部類一般會通過對外提供方法的形式對其進行訪問。
非靜態的內部類之所以可以直接訪問外部類中的成員,
那是因為內部類中都持有乙個外部類物件引用:外部類名.this
靜態的內部類之所以可以直接訪問外部類中的靜態成員,其實持有的是外部類名。
記住只有內部類定義在成員位置上,才可以有這些成員修飾符。
匿名內部類
匿名內部類:就沒有名字的內部類。
好處:簡化了內部類的書寫。
前提:內部類必須要繼承或者實現乙個外部類或外部介面
匿名內部類的格式:
new 父類名或者介面()
匿名內部類其實就是乙個子類匿名物件。這是乙個帶有內容的物件,這個物件有點胖。
什麼時候使用匿名內部類呢?
當函式的引數是乙個介面型別的引用,而且該介面中的方法不超過3個。
這時可以給這個函式傳遞乙個匿名內部類實際引數進入。簡化書寫
內部類與匿名內部類
內部類 定義 在類中定義乙個類,那麼這個類就是內部類。內部類的定義格式 成員方法 1.通過外部類方法,建立內部類物件,呼叫內部類方法。2.外部類.內部類 物件名 new 外部類 內部類 成員變數 1.外部類的成員變數,內部類中直接使用。2.內部類的成員變數,外部類不能直接訪問。需要建立內部類物件,用...
內部類,匿名內部類
內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...
內部類 匿名內部類
把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...