Java泛型的使用限制实例分析

这篇文章主要介绍了Java泛型的使用限制,结合实例形式分析了不能使用java泛型的情况以及泛型使用的相关注意事项,需要的朋友可以参考下

本文实例讲述了Java泛型的使用限制。分享给大家供大家参考,具体如下:

一 什么情况下不能使用泛型

1 不能使用泛型的形参创建对象。

 T o=new T();  // 不允许 

2 在泛型类中,不能给静态成员变量定义泛型

 public class A { public static T t; //错误 public T getA(){ //正确 ...... } } 

3 泛型类不能继承java.lang.Throwable

 public class D extends java.lang.Throwable //错误 

4 泛型类不能初始化一个数组

 T[] b = new T[10]; //错误 

二 怎样限制泛型的实例化

 泛型类名 

三 实战

1 代码

 public class Base { T m; Base( T t ) { m = t; } public T getM() { return m; } public void print() { System.out.println("base print : " + m); } public static void main( String[] args ) { B bb = new B("test B"); Base base = new Base(bb);//允许 //Base base=new Base("base class is general");//不允许 System.out.println(base.getM()); supA aa = new supA(); Base base1 = new Base(aa); System.out.println(base1.getM()); } } class supA { public String toString() { return "supA"; } } class B extends supA { String b; public B( String b ) { this.b = b; } public String toString() { return "subB"; } } 

2 运行

subB
supA

3 说明

通过T extends supA将泛型实例化对象限制到必须是supA或supA的子类。

supA可以是接口,但是extends不能换成implements,必须使用extends

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

以上就是Java泛型的使用限制实例分析的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java