【泛型】限制泛型可用类型
来源:互联网 发布:电气plc编程 编辑:程序博客网 时间:2024/05/19 21:15
默认创建的类型是没有任何限制的,如果想显示泛型的数据类型,通过extends关键字指定该类型必须是继承某个类或者实现某个接口,这时候泛型就被限制在父类及其所有子类或者接口及其实现类中的数据类型范围中。
A<T extends B>A<T ectends Iinfo>
Demo1:T extends superClass
package Genericity;public class GenericDemo2 { public static void main(String[] args) { // TODO Auto-generated method stub GenericClass<Dog> dogClass=new GenericClass<Dog>(); Dog objDog=new Dog(); dogClass.setObj(objDog); dogClass.getObj().eat(); GenericClass<Cat> catClass=new GenericClass<Cat>(); catClass.setObj(new Cat()); catClass.getObj().eat(); }}//泛型类所接收的参数做了限制,只能接收Animal类型及其子类的数据class GenericClass<T extends Animal>{ private T obj; public T getObj() { return obj; } public void setObj(T obj) { this.obj = obj; }}abstract class Animal{ public abstract void eat();}class Dog extends Animal{ public void eat(){ System.out.println("eating bones"); }}class Cat extends Animal{ public void eat(){ System.out.println("eating fish"); }}
Demo2:T extends Interface
package Genericity;public class GenericDemo2 { public static void main(String[] args) { // TODO Auto-generated method stub GenericClass<Dog> dogClass=new GenericClass<Dog>(); Dog objDog=new Dog(); dogClass.setObj(objDog); dogClass.getObj().eat(); GenericClass<Cat> catClass=new GenericClass<Cat>(); catClass.setObj(new Cat()); catClass.getObj().eat(); }}//泛型类限制类型于接口仍然用extends关键字//泛型类现在仅限制使用IAnimal实现的类型数据class GenericClass<T extends IAnimal>{ private T obj; public T getObj() { return obj; } public void setObj(T obj) { this.obj = obj; }}interface IAnimal{ public abstract void eat();}class Dog implements IAnimal{ public void eat(){ System.out.println("eating bones"); }}class Cat implements IAnimal{ public void eat(){ System.out.println("eating fish"); }}
0 0
- 【泛型】限制泛型可用类型
- 限制泛型可用类型
- 【java】限制范型可用类型
- 泛型类型的限制
- java泛型 generics --- 第二部分 泛型方法 限制类型参量 泛型方法,限制类型参量
- 限定泛型可用类型的相关应用
- java泛型学习3之类型参数的限制
- iOS可用内存限制
- 泛型--泛型的限制
- C#中使用where子句限制泛型方法的泛型类型
- C++的泛型编程和限制参数类型的技术探讨
- C ++的泛型编程和限制参数类型的技术探讨
- C++的泛型编程和限制参数类型的技术探讨
- java中利用反射机制绕开编译器对泛型的类型限制
- Gmail 附件类型限制
- Apache限制浏览器类型
- GridView限制字段类型
- 限制input输入类型
- ElasticSearch集群安装笔记
- 挂载mount
- 1050. 螺旋矩阵(25)
- 个人银行账户管理程序2.0
- 在Python中使用QuantLib
- 【泛型】限制泛型可用类型
- RecyclerView侧滑菜单,滑动删除,长按拖拽,下拉刷新上拉加载
- selenium-环境搭建2016-12-12(今天这个日期很特别)
- tomcat 内置启动
- 我所见的Fragment
- active mq与Spring的整合
- HTTPS和密钥协商小结
- 运维角度浅谈MySQL数据库优化
- 直接clean install web文件报错 报错位置在model service controller 都有报错位置