2015-02-11 147 views
-1

我認爲這是一個簡單的問題需要回答,如果已經被問到,請原諒重複。Java在不同的對象中使用泛型類對象

我正在使用JUNG-2.0.1工具集編寫一個圖形分析工具(如果您以前沒有使用過非常酷的東西)。無論如何,我的Java程序中有以下類結構。

public edge() {} 
public vehicle() {} 
public car() extends vehicle {} 
public truck() extends vehicle {} 

現在,編寫代碼,如果我寫的類頭爲

public customgraphviewer<vehicle, edge>() {} 

,將接受任何汽車的頭被寫成

public customgraphviewer<node, edge>() {} 

圖形瀏覽器類時或卡車對象?我認爲這將是因爲從同一父類繼承的兩個類都有相同的類型。我是對的還是有我應該做的其他事情。

勞倫斯 -

+1

你必須學會​​泛型類型變量聲明的語法。聲明'public class Something '創建兩個**新類型變量**,名爲'Vehicle'和'Edge'。這些類型與您的'Vehicle'和'Edge'完全無關。 – 2015-02-11 20:47:17

+0

也是,你提供的類結構是* not * Java;在Java中,您使用'edge()'等構造函數,而不是類聲明。此外,因爲當小寫名稱是JLS兼容的類名? IFTFY - 如果您使用某種特定於應用程序的標記,請不要將其標記爲一般的「java」,否則使用有效的Java約定代碼。目前還不清楚你在這裏問的是什麼,以及你是否對當前主題有一點了解。 – vaxquis 2015-02-11 20:48:09

+0

我回滾我的修改,直到有人能向我解釋*這裏真正問到的是什麼*。 – vaxquis 2015-02-11 20:54:30

回答

-1

我認爲最好的辦法是使用通配符參數,縮小它歸結爲已知的超:

public customgraphviewer<? extends vehicle, edge>() {} 
+0

這是什麼?該行代碼中沒有任何部分是有效的Java。 – 2015-02-12 16:26:13

相關問題