Cage.java 397 B

12345678910111213141516171819
  1. public static class Cage<T extends Animal> {
  2. private Set<T> pen = new HashSet<T>();
  3. public void add(T animal) {
  4. pen.add(animal);
  5. }
  6. /* It's OK to put subclasses into a cage of
  7. super class
  8. */
  9. public void transferTo(Cage<? super T> cage) {
  10. cage.pen.addAll(this.pen);
  11. }
  12. public void showAnimals() {
  13. System.out.println(pen);
  14. }
  15. }