gpt4 book ai didi

java - java中单独类中的枚举

转载 作者:行者123 更新时间:2023-12-01 17:11:57 24 4
gpt4 key购买 nike

我正在尝试编写两个类:

一个用于机器人,它将具有唯一的 ID 和方向。另一个方向类将使用枚举作为机器人的方向。我尝试用以下方式编写它,但我认为我遗漏了一些东西......

package Q1;

public class Robot {
static int IDGenerator = 1000; //ID generator for class Robot
int RoboID; //The ID of the robot
Direction direction; //The Direction the robot is facing

//Constructor for Robot
public Robot(int dir){
this.direction = new Direction(dir);
this.RoboID = IDGenerator;
IDGenerator++;
}
}

枚举的类:

package Q1;

public enum Direction{
UP(1), RIGHT(2), DOWN(3), LEFT(4);
private final int dir;

//constructor for Direction enum for a robot
private Direction(int dir){
this.dir = dir;
}

//return facing direction of a robot
public int getDirection(){
return this.dir;
}
}

最佳答案

枚举不是通过new实例化的;相反,它们在编译时有一组定义的实例。只需像这样直接访问实例即可:

public Robot(Direction dir) {
this.direction = dir;
}

您可以调用此构造函数,例如像这样:

Robot bot = new Robot(Direction.UP);

关于java - java中单独类中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23361657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com