Java泛型的使用限制实例分析
本文实例讲述了Java泛型的使用限制。分享给大家供大家参考,具体如下:
一什么情况下不能使用泛型
1不能使用泛型的形参创建对象。
To=newT();//不允许
2在泛型类中,不能给静态成员变量定义泛型
publicclassA{ publicstaticTt;//错误 publicTgetA(){//正确 ...... } }
3泛型类不能继承java.lang.Throwable类
publicclassDextendsjava.lang.Throwable//错误
4泛型类不能初始化一个数组
T[]b=newT[10];//错误
二怎样限制泛型的实例化
泛型类名
三实战
1代码
publicclassBase{ Tm; Base(Tt){ m=t; } publicTgetM(){ returnm; } publicvoidprint(){ System.out.println("baseprint:"+m); } publicstaticvoidmain(String[]args){ Bbb=newB("testB"); Basebase=newBase(bb);//允许 //Base base=newBase ("baseclassisgeneral");//不允许 System.out.println(base.getM()); supAaa=newsupA(); Base base1=newBase (aa); System.out.println(base1.getM()); } } classsupA{ publicStringtoString(){ return"supA"; } } classBextendssupA{ Stringb; publicB(Stringb){ this.b=b; } publicStringtoString(){ return"subB"; } }
2运行
subB
supA
3说明
通过TextendssupA将泛型实例化对象限制到必须是supA或supA的子类。
supA可以是接口,但是extends不能换成implements,必须使用extends。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。