我似乎无法弄清楚这一点: 我希望类的属性可以作为枚举进行设置和获取。所涉及的属性是对象形状,可以是凹形、凸形或未定义的。所以我认为使用枚举会很好:
private enum Shape {CONCAVE, CONVEX, UNDEFINED}
这是我的构造函数:
Vertex()
{
point = new int[] {0, 0};
Shape shape = Shape.UNDEFINED;
}
这是它的 setter :
public void setShape(Shape shape)
{
Shape = shape;
}
以及相应的访问器:
public Shape getShape()
{
return Shape;
}
这是编译器错误:
./Vertex.java:27: cannot find symbol symbol : variable Shape location: class Vertex Shape = shape; ^ ./Vertex.java:56: cannot find symbol symbol : variable Shape location: class Vertex return Shape; ^
我尝试过各种语法组合,这是我所见过的最接近的。 我还需要知道如何通过“调用”类中的 setter 方法正确传递枚举值...
最佳答案
我不太明白你现在拥有什么,但我认为你需要:
public class Vertex {
private enum Shape {CONCAVE, CONVEX, UNDEFINED}
private Shape shape;
private int[] point;
public Vertex() {
point = new int[] {0, 0};
shape = Shape.UNDEFINED;
}
public Shape getShape() {
return shape;
}
public void setShape(Shape shape) {
this.shape = shape;
}
}
关于java - 在java中获取和设置枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24736785/