Simple enum. The ; after the last element is optional, when this is the end of enum definition.
public enum Color {Enum embedded inside a class. Outside the enclosing class, elements are referenced as
WHITE, BLACK, RED, YELLOW, BLUE; //; is optional
}
Outter.Color.RED, Outter.Color.BLUE,
etc.public class Outter {Enum that overrides toString method. A semicolon after the last element is required to be able to compile it. More details on overriding enum toString method can be found here.
public enum Color {
WHITE, BLACK, RED, YELLOW, BLUE
}
}
public enum Color {Enum with additional fields and custom constructor. Enum constructors must be either private or package default, and protected or public access modifier is not allowed. When custom constructor is declared, all elements declaration must match that constructor.
WHITE, BLACK, RED, YELLOW, BLUE; //; is required here.
@Override public String toString() {
//only capitalize the first letter
String s = super.toString();
return s.substring(0, 1) + s.substring(1).toLowerCase();
}
}
public enum Color {Enum that implements interfaces. Enum can implement any interfaces. All enum types implicitly implements
WHITE(21), BLACK(22), RED(23), YELLOW(24), BLUE(25);
private int code;
private Color(int c) {
code = c;
}
public int getCode() {
return code;
}
java.io.Serializable
, and java.lang.Comparable
.public enum Color implements Runnable {A sample test program to invoke this run() method:
WHITE, BLACK, RED, YELLOW, BLUE;
public void run() {
System.out.println("name()=" + name() +
", toString()=" + toString());
}
}
for(Color c : Color.values()) {Or,
c.run();
}
for(Runnable r : Color.values()) {
r.run();
}