一、限制泛型可用类型① 在定义泛型类型时,默认在实例化泛型类的时候可以使用任何类型,但是如果想要限制使用泛型类型时,只能用某个特定类型或者是其子类型才能实例化该类型时,可以在定义类型时,使用extends关键字指定这个类型必须是继承某个类,或者实现某个类;② ...
一、限制泛型可用类型
① 在定义泛型类型时,默认在实例化泛型类的时候可以使用任何类型,但是如果想要限制使用泛型类型时,只能用某个特定类型或者是其子类型才能实例化该类型时,可以在定义类型时,使用extends关键字指定这个类型必须是继承某个类,或者实现某个类;
② 当没有指定泛型继承的类型或接口时,默认使用extends Object,所以默认情况下任何类型都可以作为参数传入;
继承抽象类
1 public class GenericDemo3{ 2 public static void main(String []args){ 3 GenericClass<Dog> dogClass=new GenericClass<Dog>(); 4 dogClass.setObj(new Dog()); 5 dogClass.getObj().eat(); 6 7 8 GenericClass<Cat> catClass=new GenericClass<Cat>(); 9 catClass.setObj(new Cat());10 catClass.getObj().eat();11 }12 }13 14 //泛型类所接受的参数做了限制,只能接收Animal类型或者Animal类的子类15 class GenericClass<T extends Animal>{16 private T obj;17 public void setObj(T obj){18 this.obj=obj;19 }20 public T getObj(){21 return obj;22 }23 }24 25 abstract class Animal{26 public abstract void eat();27 }28 29 class Dog extends Animal{30 public void eat(){31 System.out.println("啃骨头");32 }33 }34 class Cat extends Animal{35 public void eat(){36 System.out.println("吃鱼肉");37 }38 }
原标题:限制泛型可用类型,类型通配符声明,泛型方法
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。