1. 程式人生 > >Java程式設計思想(第4版) 之 15.5 泛型之匿名內部類

Java程式設計思想(第4版) 之 15.5 泛型之匿名內部類

15.5   匿名內部類

泛型還可以應用於內部類以及匿名內部類。下面的示例使用匿名內部類實現了Generator介面:



 



 

Customer和Teller類都只有private的構造器,這可以強制你必須使用Generator物件。Customer有一個generator()方法,每次執行它都會生成一個新的Generator<Customer>物件。我們其實不需要多個Generator物件,Teller就只建立了一個public的generator物件。在main()方法中可以看到,這兩種建立Generator的方式都在fill()中用到了。

由於Customer中的generator()方法,以及Teller中的Generator物件都宣告成了static的,所以它們無法作為介面的一部分,因此無法用介面這種特定的慣用法來泛化這二者。儘管如此,它們在fill()方法中都工作得很好。

在第21章中,我們還會看到關於這個排隊問題的另一個版本。

練習18:(3) 遵循BackTeller.java的形式,建立一個Ocean中BigFish吃LittleFish的例子。