16.7 泛型类
来源:互联网 发布:淘宝魔域vip 编辑:程序博客网 时间:2024/04/28 19:43
泛型类:
泛型类的定义格式;
class 类名<声明自定义泛型>
{
}
泛型注意事项:
1、在类上自定义泛型的具体数据类型是在使用该类的时候创建对象的时候确定的。
2、如果一个类在类上已经声明了自定义泛型,如果使用该类创建对象的时候没有指定泛型的具体类型,那么就是默认为Object类型。
3、在类上自定义泛型不能作用于静态的方法,如果静态的方法需要使用自定义泛型没那么需要在方式法上自己声明使用。
class text{public <T>T A(T o){return o;}public <T1>T1 B(T1 o){return o;}}public class wu{ public static void main(String [] args){Scanner scanner = new Scanner(System.in); text t= new text();System.out.println(t.A(24)+" "+ t.B("fgre")); }}
import java.util.Scanner;class text<T>{public T A(T o){return o;}public <T> T B(T o){return o;}}public class wu{ public static void main(String [] args){Scanner scanner = new Scanner(System.in); text<Integer> t= new text<Integer>(); String tt= t.B("fgre");System.out.println(t.A(24)+" "+ tt); }}
泛型接口的定义格式:
interface 接口名<声明自定义泛型>
{
}
import java.util.Scanner;interface fc<T>{T abc(T O);}class text<T> implements fc<T>{public T A(T o){return o;}@Overridepublic T abc(T O) {return O;}public <T> T B(T o){return o;}}public class wu{ public static void main(String [] args){Scanner scanner = new Scanner(System.in); text<Integer> t= new text<Integer>(); String tt= t.B("fgre"); Integer in= t.abc(111);System.out.println(t.A(24)+" "+ tt+" "+in); }}
泛型接口要注意的事项;
1、接口上自定义的泛型的具体数据类型是在实现一个接口的时候指定的。
2、在接口上自定义的泛型如果在实现接口的时候没有指定的具体的数据类型,那么默认为Object类型。
泛型的上下限
泛型中的通配符:?
? super Integer 只能存储Integer或者是Integer的父类。泛型的下限
? extends Number 只能存储Number或者是Number的子类。泛型的上限
0 0
- 16.7 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- **泛型类。**
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 泛型类
- 16.7.6
- 16.7.7:
- 16.5 TreeSet的实现原理
- Qt5.5
- 文章标题
- 16.6 方法上自定义泛型
- d盘文件复制到e盘(并计时)
- 16.7 泛型类
- 关于在项目中使用Android5.0的CoordinatorLayout,上滑无效果的问题
- 彻底的清除 Office 以便重新安装
- C++第七次上机作业
- MYBATIS 的参数传递及XML内使用
- 内核构造skb数据包的实现
- 第十五周项目三 洗牌
- ViewPager的Adapter总结
- 所见所得之怎么摆脱“怀才不遇”