在Java中,可以使用上限通配符类型变量来限制迭代器的类型范围。具有上限通配符类型变量的Java迭代器可以迭代任何实现了指定接口的对象,或者是指定类的子类对象。 例如,假设有一个接口Animal和两个实现类Dog和Cat: ``` interface Animal { void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("Woof!"); } } class Cat implements Animal { public void makeSound() { System.out.println("Meow!"); } } ``` 现在,我们可以创建一个具有上限通配符类型变量的Java迭代器,它可以迭代任何实现了Animal接口的对象: ``` Iterator<? extends Animal> iterator = animals.iterator(); while (iterator.hasNext()) { Animal animal = iterator.next(); animal.makeSound(); } ``` 在这个例子中,animals是一个Animal类型的集合,它可以包含任何实现了Animal接口的对象,包括Dog和Cat。通过使用上限通配符类型变量,我们可以确保迭代器只能迭代Animal接口的实现类对象,而不能迭代其他类型的对象。