Below we have 3 objects (aka enumerations in this case), and they each have their own set of variables. One for description, and one for year. Enumerations are effectively objects that are also constants.
When we use enumeration, java automatically creates an array of the values, this array is cat.values()
// jamesprogram.java class jamesprogram { public static void main (String[] args){ // enhanced for loop // this loops through the enumeration // contants in the array cat.values() and // assign them to people for (cat people: cat.values()){ System.out.printf("%s\t%s\t%s\n", people, people.getDesc(), people.getYear()); } } }
//cat.java // the enum allows us to use the class in // a specific way public enum cat { // declare constants of the enum type // i.e. variables that never change james("java","37"), emma("xml","40"), george("php","100"); // final, we don't want this changed // these two declared variables represent // the two arguments above private final String desc; private final String year; //now have a enumeration constructor cat(String description, String theirYear){ desc = description; year = theirYear; } public String getDesc(){ return desc; } public String getYear(){ return year; } }
Outputs:
james java 37
emma xml 40
george php 100