enum Direction{
NORTH {
@Override
public void move(){
System.
out.
println("Move up (y + 1)"); }
},
SOUTH {
@Override
public void move(){
System.
out.
println("Move down (y - 1)"); }
},
EAST {
@Override
public void move(){
System.
out.
println("Move right (x + 1)"); }
},
WEST {
@Override
public void move(){
System.
out.
println("Move left (x - 1)"); }
};
public abstract void move(); // this method needs to be overridden by the enum constants
}
class Ideone
{
public static void main
(String[] args
) {
Direction d = Direction.NORTH;
d.move();
}
}
ZW51bSBEaXJlY3Rpb257CglOT1JUSCB7CgkJQE92ZXJyaWRlCgkJcHVibGljIHZvaWQgbW92ZSgpewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIk1vdmUgdXAgKHkgKyAxKSIpOwoJCX0KCX0sCglTT1VUSCB7CgkJQE92ZXJyaWRlCgkJcHVibGljIHZvaWQgbW92ZSgpewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIk1vdmUgZG93biAoeSAtIDEpIik7CgkJfQoJfSwKCUVBU1QgewoJCUBPdmVycmlkZQoJCXB1YmxpYyB2b2lkIG1vdmUoKXsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJNb3ZlIHJpZ2h0ICh4ICsgMSkiKTsKCQl9Cgl9LAoJV0VTVCB7CgkJQE92ZXJyaWRlCgkJcHVibGljIHZvaWQgbW92ZSgpewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIk1vdmUgbGVmdCAoeCAtIDEpIik7CgkJfQoJfTsKCglwdWJsaWMgYWJzdHJhY3Qgdm9pZCBtb3ZlKCk7IC8vIHRoaXMgbWV0aG9kIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudW0gY29uc3RhbnRzCn0KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKQoJewoJCURpcmVjdGlvbiBkID0gRGlyZWN0aW9uLk5PUlRIOwoJCWQubW92ZSgpOwoJfQp9