public enum Direction {
UP(KeyEvent.VK_UP), DOWN(KeyEvent.VK_DOWN), LEFT(KeyEvent.VK_LEFT), RIGHT(KeyEvent.VK_RIGHT);
public final int vk;
// constructor
Direction(int vk) {
this.vk = vk;
}
// Direction : type
// fromVK : name
public static Direction fromVK(int vk) {
for (Direction d : values()) {
if (d.vk == vk) {
return d;
}
}
return null;
}
}
这里面为什么可以用values()呀?还有就是这里的enum是每一个都有自己的数字序列么,所以Direction(int vk)的参数可以是int