4

I would like to use Dimension class (java.awt.Dimension), but it supports only integers. I want make Rectangle and Square classes like these:

Constructor:

public Rectangle(Dimension dim(double A, double B)) {
    // constructor code
}

Is it better to write my own implementation of the Dimension class?

4

3 回答 3

7

不要java.awt.Dimension仅仅因为它恰好提供了一个看起来与您需要的界面相似的界面而使用它。正如文档中的介绍所说:

Dimension 类将组件的宽度和高度……封装在单个对象中。

组件是指Java AWT 组件java.awt.Dimension将 a用于其他任何东西似乎很奇怪。

如果您提供自己的 实现java.awt.Dimension,它必须遵循与 Java 运行时环境提供的接口相同的接口。所以你什么也得不到。顺便说一句,无需提供您自己的实现java.awt.Dimension,Java 运行时环境已经提供了一个非常合适的实现。

编写您自己的类,该类可以将浮点值处理为宽度和高度。

于 2013-06-30T11:27:24.273 回答
4

请参阅JavaDoc

该类Dimension将组件的宽度和高度(以整数精度)封装在单个对象中。

因此,如果您需要一个以浮点精度保持宽度和高度的 Dimension 类,则不能使用java.awt.Dimension. 查看提供的方法java.awt.Dimension,提供自己的实现应该相当容易。

于 2013-06-30T11:21:45.597 回答
2

改为使用Dimension.setSize(double,double)

于 2013-06-30T11:54:19.343 回答