內部類的介紹 匿名內部類

2021-10-10 06:24:33 字數 804 閱讀 7852

顧名思義:沒有名字的內部類,其實就是沒有類名的區域性內部類(一切特徵都與區域性內部類相同)這句話請記住

必須繼承乙個父類或者實現乙個介面

心得:為什麼介面不能直接new,直接例項化

其實我覺得是可以的,但是不建議樣做,為什麼呢,我們平常都是new介面的實現類,或者叫做子類把,因為介面的方法,在子類中是重寫 的,方法健全,如果你直接new乙個介面,那麼你就需要重寫介面,所以不建議這麼做,我們直接new介面的子類就可以了

我們先建立乙個介面,因為匿名內部類必須實現乙個介面

然後我們在main方法中,我們定義了乙個fan區域性內部類,因為這是在main方法裡面定義的類。

然後我們自己重寫了介面

然後我們直接在main方法中建立出了物件

上述寫法其實可以優化,我個人理解不算是優化為什麼呢?我們先看這個優化的結果

我們不用再定義乙個區域性內部類來重寫介面了

從上面**看起來,就是建立了沒有名字的類,所以優化的方法叫做是匿名內部類

其實:我自己的理解是例項化了乙個介面,即new 了乙個介面,所以介面的方法需要重寫

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...

內部類 匿名內部類

把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...

內部類 匿名內部類

package org.lgy.study.innerclass public class anonymoustest public static void main string args public string getname public double getprice inte ce p...