匿名內部類是怎麼回事

2021-09-01 11:03:34 字數 559 閱讀 6508

匿名內部類真的很神秘的,不過,這種類就喜歡做一些神秘的東西。想想,匿名內部類,根本就沒有名,怎麼寫它的建構函式呀?如里是乙個預設的建構函式,如果帶上了引數這又應該怎麼辦?很神秘的東西。

看一段**:

abstract class b

abstract public void play() ; }

class bout

};}}

這個**編譯不會有問題,會出現三個class檔案的,對於bout類就產生了兩個class檔案(bout.class與bout$1.class),這裡面其實有些很隱含的東西的,反編譯一下class檔案來看看:

對於bout類:

這裡竟呼叫了bout$1的三個引數的建構函式。

看看bout$1真的有三個引數的建構函式嗎?

裡面真的有三個引數的建構函式呀,還呼叫了乙個父類的乙個引數建構函式了。這裡編譯器還給它生成了乙個val$b的變數,把第三個變數放到這裡面去了,這個就實現了建構函式的功能了;再看那個呼叫了父類的那個引數,其實就是第二個引數。就是這樣子了。看多幾眼上面的圖,就明白。 

Share Memory協議是怎麼回事

細心的朋友會發現,sql server 2005所支援的網路庫協議中多了乙個share memory協議,那麼它是用在什麼場合的呢?下面是官方文件的一些介紹 從執行在同一臺計算機上的客戶端到 microsoft sql server 的連線使用共享記憶體協議。共享記憶體沒有可配置的屬性。始終會先嘗試...

內部類,匿名內部類

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

內部類 匿名內部類

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