【发布时间】:2020-01-07 04:03:45
【问题描述】:
我使用以下代码计算枚举中的值时出错:
enum elPosition {
p1(
(boxX*0 + boxX/2),
(boxY*0 + boxY/2)
),
p2(
(boxX*1 + boxX/2),
(boxY*1 + boxY/2)
),
p3(
(boxX*2 + boxX/2),
(boxY*2 + boxY/2)
);
private double xPosition;
private double yPosition;
elPosition(final double xPosition, final double yPosition) {
this.xPosition = xPosition;
this.yPosition = yPosition;
}
private static final double boxX = 10;
private static final double boxY = 10;
public double getXPosition() {
return xPosition;
}
public double getYPosition() {
return yPosition;
}
}
如果使用某个值而不是计算,则不会发生错误。
【问题讨论】:
-
错误是什么?
-
非法前向引用
-
您需要将
get..Position方法抽象化,并为每个枚举常量实现它们。大概。另外,请注意 Java 命名约定规定类/接口/枚举名称是 CamelCase 并以大写字母开头。 -
@FedericoklezCulloca Nah。那是针对构造函数内容,而不是针对构造函数调用。问题不同。
-
@EamonScullion Nah,完全不相关