java泛型-限制泛型类型
前面我们讲的泛型,可以是任意类型,但是我们有时候,需要限制类型,这样更加安全。
我们通过实例理解下,我们新建一个Animal类,然后再搞两个子类Dog和Cat类:
package com.java1234.chap06.sec02;
public class Animal {
public void print(){
System.out.println("动物");
}
}package com.java1234.chap06.sec02;
public class Dog extends Animal{
public void print(){
System.out.println("Dog");
}
}package com.java1234.chap06.sec02;
public class Cat extends Animal{
public void print(){
System.out.println("Cat");
}
}然后我们定义一个泛型类:
package com.java1234.chap06.sec02;
public class Demo <T extends Animal>{
private T ob;
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public Demo(T ob) {
super();
this.ob = ob;
}
public void print(){
System.out.println("T的类型是:"+ob.getClass().getName());
}
}这里我们要求 比如是Animal类或者Animal类的子类
我们再搞个测试类:
package com.java1234.chap06.sec02;
public class Test {
public static void main(String[] args) {
Demo<Dog> demo=new Demo<Dog>(new Dog());
Dog dog=demo.getOb();
dog.print();
Demo<Cat> demo2=new Demo<Cat>(new Cat());
Cat cat=demo2.getOb();
cat.print();
Demo<Animal> demo3=new Demo<Animal>(new Animal());
}
}运行输出:
Dog
Cat
这里假如我们放其他类型:

直接编译报错,说类型不对;
上一篇:httpclient-执行请求
下一篇:java泛型-通配符泛型