import java.util.Iterator; public class EnumTest10 { private enum Num implements Iterable {ONE, TWO, THREE, FOUR; public Iterator iterator() { return new Iterator() { private int position = 0; public boolean hasNext() { return position < Num.values().length; } public Num next() { Num num = Num.values()[position]; position++; return num; } public void remove() { throw new UnsupportedOperationException(); } }; } } public static void main(String[] args) { Num num = Num.ONE; Iterator it = num.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } }