class Test implements Iterable<Integer>, Iterator<Integer> { int point = 0; // 实现Iterator接口 public boolean hasNext() { return point == 5 ? false : true; } // 实现Iterator接口 public Integer next() { point++; return point; } // 实现Iterator接口 public void remove() { System.out.println("--"); } // 实现Iterable接口 public Iterator<Integer> iterator() { return new Test(); } public static void main(String[] args) { Test test= new Test(); for(Integer ob :test){ // 调用test.iterator函数 // 每次循环先调用ob.hasNext函数,如果为真,再调用next函 // 数,一切都是for循环自动完成 System.out.println(ob); } // for封装了如下步骤,下面是自己控制迭代 Iterator<Integer> itor = test.iterator(); while (itor.hasNext()){ System.out.println(itor.next()); } } }