1.动物类
package com.nice.dq2020.fanxing;
public class Animal {
@Override
public String toString() {
return "I am an animal!";
}
}
2.老虎类继承动物类
package com.nice.dq2020.fanxing;
public class Tiger extends Animal {
@Override
public String toString() {
return "I am tiger!";
}
}
3.泛型类
package com.nice.dq2020.fanxing;
import java.util.List;
public class Zoo<Z> {
private Z z;
private List<Z> zs;
public Z getZ() {
return z;
}
public void setZ(Z z) {
this.z = z;
}
public List<Z> getZs() {
return zs;
}
public void setZs(List<Z> zs) {
this.zs = zs;
}
public String who() {
return z.toString();
}
public String whos() {
return zs.toString();
}
}
4.测试类
import java.util.List;
public class Test {
public static void main(String[] args){
Zoo<Animal> zoo = new Zoo<>();
//泛型为Animal 放一个动物,Ok,没问题
Animal animal = new Animal();
zoo.setZ(animal);
System.out.print(zoo.who());
System.out.print("\n");
//泛型为Animal 放一只老虎,Ok,没问题
Tiger tiger = new Tiger();
zoo.setZ(tiger);
System.out.print(zoo.who());
System.out.print("\n");
List<Animal> animals = new ArrayList<>();
animals.add(animal);
animals.add(tiger);
zoo.setZs(animals);
System.out.print(zoo.whos());
}
}
5.输出结果