我很驚訝地看到,height
和width
成員的獲得者有return
類型double
,儘管它們是int
。此外,setSize
方法雙參數的定義如下:java.awt的Dimension類中的方法返回類型
/**
* Sets the size of this <code>Dimension</code> object to
* the specified width and height in double precision.
* Note that if <code>width</code> or <code>height</code>
* are larger than <code>Integer.MAX_VALUE</code>, they will
* be reset to <code>Integer.MAX_VALUE</code>.
*
* @param width the new width for the <code>Dimension</code> object
* @param height the new height for the <code>Dimension</code> object
*/
public void setSize(double width, double height) {
this.width = (int) Math.ceil(width);
this.height = (int) Math.ceil(height);
}
請看看Dimension類。以上評論說,值不能超出Integer.MAX_VALUE。爲什麼? 爲什麼我們有double
?有沒有什麼微妙的原因?任何人都可以向我解釋這個嗎?對我的堅持抱歉!
那就是它?爲什麼我們有'double'作爲'return'類型的getter?有用嗎? – Ahamed 2012-02-28 18:38:39
我不知道他們爲什麼返回爲double的確切原因(可能是因爲當談論維度時,你談論的是精度,而double更多地用於這些情況),但對於setters來說,它只是一些方法重載幫助用戶。 – talnicolas 2012-02-28 18:41:30
感謝您的回覆,我不認爲具有int值的double將有助於提高精度。我的意思是雙1517.00等於1517,所以肯定有一些原因? – Ahamed 2012-02-28 18:44:54