2014-10-10 64 views
0

在Java中可能創建子類並執行某種類型的查找和替換嗎?要將實例變量更改爲Integer而不是Double在Java中改變類型的子類

我正在尋找一個保存整數的向量類。我的意思是一個真正的數學矢量,而不是一個java.util.Vector

org.apache.commons.math3Vector2DArrayRealVector類,但他們都只需要Double他們的座標。

我希望能夠以某種方式將它們繼承爲Integer。我知道我可以繼承它們擴展的抽象類,但是這看起來像是整整一代碼重複數據刪除,從它們實現的時間長度來看(source of Vector2dsource of ArrayRealVector)。

我知道我也可以在構造和獲取數值時重新構造我的Integer s到Double s,但這又似乎有點混亂。

回答

0

一旦基類已經創建完畢,就無法做到這一點。

你可以做的是創建一個使用generics的基類。這允許你聲明一個類型T,它們內部的所有東西都使用,然後你在類中使用T,並且當你使用這個類型時,你決定在它們內部使用什麼類型的T。

請看java.util.collections包的很多例子。