在Java中是否已經存在如下一些接口?Java:Size接口是否存在?
interface Size {
int getWidth();
int getHeight();
}
編輯:它必須是一個接口。
在Java中是否已經存在如下一些接口?Java:Size接口是否存在?
interface Size {
int getWidth();
int getHeight();
}
編輯:它必須是一個接口。
我建議你自己做,而不是使用java.awt.Dimension
,特別是如果你想要的是一個接口而不是一個類。如果你確實想要一個類似Dimension
,我仍然不會使用它,而是讓另一個類作爲一個不可變的值類型... Dimension
的可變性是一個主要的弱點。每個返回Dimension
的方法都會被迫返回它的一個副本,並且每個接受Dimension
的方法都被迫複製它。如果它是不變的,那麼在任何情況下都不需要複製。
Dimension類? http://download.oracle.com/javase/6/docs/api/java/awt/Dimension.html
這不是最終的,您可以擴展並覆蓋它以供您自己使用。
如果您確定使用某個類並導入了AWT類,則可以使用java.awt.Dimension或java.awt.geom.Dimension2D作爲抽象基類。沒有我知道的具體界面。
一個有點正確的答案,我會說我對此有所保留。如果您正在使用awt/Swing進行桌面項目 - 您可以使用java.awt.Dimension
,但它不是界面。如果你希望它確實是一個界面 - 創建你自己的界面。
定義屬於自己的Size
接口的另一個原因,如問題所示,是因爲在Dimension
中,您正在創建對AWT程序包的依賴關係。我希望將來JDK中的內部依賴關係將被最小化,並且您將能夠運行服務器端代碼,而不需要包含awt依賴關係。
所以最終我的答案是 - 創建您自己的界面。
@Bozho修復它;)您也可以從其他人提到的頁面找到抽象類Dimension2D的鏈接。 – Valchris 2010-10-20 20:26:50
我不認爲這真的回答了具體的問題,或者是一個好主意。首先,這不是一個接口。另一方面,'Dimension'的可變性是一個很大的問題,它迫使在所有使用它的Java代碼上進行大量的複製,如果它是一個不可變的值類型,它應該是不需要的。 – ColinD 2010-10-20 20:27:55
@ColinD有效分數。我想,我很快就會贊成 – Bozho 2010-10-20 20:31:59