2011-05-23 80 views
3

我需要從下列類派生:擴展類屬參數

public abstract class MyTool<VIEW extends MyView> 
    implements LookupListener, MouseListener, MouseMotionListener, KeyListener {} 

下不起作用:

public abstract class MySubTool<VIEW> extends MyTool<VIEW> {} 

謝謝!

回答

3

在MySubTool編譯器,因爲沒有辦法知道VIEWMySubToolMyView一個子類,則必須再次指定它:

public abstract class MySubTool<VIEW extends MyView> extends MyTool<VIEW> {} 
+0

這裏是什麼編譯器報告:無法找到符號 符號:構造MyView的() 位置:類com.mysystem.viewer.MyView 公共MySubTool(){ – malat 2011-05-23 11:42:00

+1

這與您以前的問題無關,這與泛型相關。你的新問題是關於構造函數的。你的基類沒有默認的構造函數,所以你必須在''MySubTool''中指定你想用''super''調用的構造函數。 – 2011-05-23 11:53:07

+0

哎呀抱歉的噪音。感謝您的大力幫助! – malat 2011-05-23 11:59:50

1

這應該:

public abstract class MySubTool<VIEW extends MyView> extends MyTool<VIEW> {} 
+0

@downvoter,爲什麼這是錯的? – 2011-05-23 11:57:04