在 Java 我們時常遇到 anonymous class,anonymous class 讓我們很方便產生一個暫時性的 class。
Java 產生 anonymous class 的語法,通常隨著 create 一個 anonymous class 的 instance 一起。
範例
Runnable r = new Runnable { //這裡表示產生一個 anonymous class,但implements Runnable interface //大括號裡面就是該 anonymous class 的內容 //定義完 anonymous class,馬上 create 一個 instance 傳回去 public void run() { ... } }; Thread thrd = new Thread(r).start(); });或許語法,你不會很熟悉,但這是很常見的寫法,請把它記住。
在 Scala 中,anonymous class 的用法更多,通常也是跟隨著要產生一個特定型態的 instance。
Scala 中的語法與 Java 的類似。
範例
val v = new { // new 後面不需要有 type 名稱,直接可以宣告 anonymous class 並 create instance def p = println("P") }
Anonymous class 一個很好用的工具,雖然導致出來的語法好像有點掉頭掉尾,但我們應該好好使用,可以讓你得成是寫起來更快速,更精簡。
沒有留言:
張貼留言