java - 初始化 Ellipse2D 数组时出错

标签 java arrays

我正在尝试创建一个 Ellipse2D 数组,以便稍后可以在 PaintComponent() 中重置它们的位置。它不允许我在第 3 行的 Ellipse2D 下初始化并出现错误。我做错了什么?

    Ellipse2D[] ellipses = new Ellipse2D[1000];
for(int i = 0; i <= 1000; i++){ 
    ellipses[i] = new Ellipse2D(2,2,2,2);
}

最佳答案

来自 Java document :

public abstract class Ellipse2D extends RectangularShape

The Ellipse2D class describes an ellipse that is defined by a framing rectangle.

This class is only the abstract superclass for all objects which store a 2D ellipse. The actual storage representation of the coordinates is left to the subclass.

以及以下构造函数定义:

protected Ellipse2D() This is an abstract class that cannot be instantiated directly.

上述文档明确指出Ellipse2D类无法启动。抽象类旨在由其他类扩展。它基本上包含了许多共享相同属性和方法的其他子类所需的公共(public)属性和方法。

对于 Ellipse2D,它包含两个嵌套子类(嵌套意味着子类在 Ellipse2D 本身内部定义),分别是 Ellipse2D.Double 和 Ellipse2D.Float。您可以启动其中任何一个,如果您愿意,可以将其分配给 Ellipse2D,如下所示:

Ellipse2D[] ellipses = new Ellipse2D[1000];
for(int i = 0; i < 1000; i++){ 
   ellipses[i] = new Ellipse2D.Float(2,2,2,2);
}

关于java - 初始化 Ellipse2D 数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32760944/

相关文章:

java - 带有空表达式的搜索条件

java - 需要刷新 Java EDT(事件调度队列)

java - 实现更有效的矩阵 - 使用数组数组(二维)或一维数组?

python - 比较 numpy 矩阵的列与数组

c - 连续内存空间中的链表

java - 在JAVA中从图像文件夹访问图像

java - 将点添加到 system.out.println 中

java - 如何从来自 MQ 的消息中检索 RFH 消息头?

python - 类型错误 : only length-1 arrays can be converted to Python scalars while trying to exponentially fit data

arrays - 如何解析 golang 中的结构并打印结构中的项目?