2013-07-27 16 views

回答

7

foo方法將Class對象作爲參數,而不是該類的實例。

嘗試使用類文字來代替:

foo(ClassA.class); 

ClassA.class是類文字的ClassA類,這是一個Class<ClassA>,符合該參數的描述Class<? extends SomeInterface>

對於foo(a);編譯的foo簽名會有所不同:

void foo(SomeInterface bar) 
+0

已解決。謝謝您的幫助。 – NSF

1

Class本身就是一個對象,並foo(需要Class對象的綁定的通配符。

如果ClassA確實實現/延伸SomeInterface(其中一個或另一個,您使用不同的術語),然後通過ClassA.class。關鍵字class指定獲得類對象

相關問題