1.泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

Java语言引入泛型的好处是安全简单。

在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

2.应该是我很久没有好好学技术了,有时辰想用的时辰却发现不会写,比如今天碰到了泛型接口,以是要记录一下,如许才能更明白...

在这搭我其实不想说泛型接口怎么写,这个很简略,后面会写的,只是想说我为什么要用.

泛型接口的意图是什么?请看如次的需要别人解答的题目:

abstract class BaseBean{ //略 } Interface IA{ public BaseBean doSomething(); }

下面我们继承这个BaseBean

class ChildBean extends BaseBean{ }

接下来使成为事实接口

class IAImpl implements IA{ public BaseBean doSomething(){ return new ChildBean(); } }

好了这是惯常的写法,可是同学们有无发现1个需要别人解答的题目当你归回获得BaseBean的时辰其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,由于调用者纯粹不知道调用什么.那么我们来描述我们需要什么:

我们需要IA的doSomething归回的是1个对象这个对象extends于BaseBean

那么接下来我们就用泛型接口吧:

Interface IA{ public T doSomething(); } class IAImpl implements IA{ public ChildBean doSomething(){ return new ChildBean(); } }

如许当你调用这个使成为事实的时辰就能明确地获得归回的对象类型,清楚明了,这就是泛型接口的使用.其实我们平时一直在用的 Iterable就是这玩意各人可以去看下. 回家筹办读下java编程思惟中的相干段落.

总结今天收获很大,这搭要感谢下灵芝同学给我的帮助,是她告诉了我,我所想要的东西叫泛型接口,感谢...

取消

评论

java接口 泛型_java泛型接口是肿么一回事,干什么用的相关推荐

  1. java接口 泛型_java 泛型接口示例

    /* * 泛型接口 */ interface Tool { public void show(T t); //泛型方法 public void print(E e); } /* * 这种方式适合实现接 ...

  2. java 接口 私有_Java 9:好的,坏的和私有的接口方法

    java 接口 私有 Java 9 是在几周前发布的. 查看发行说明 ,其中包含许多有趣的功能. 不过,我觉得并非一切都是不如Oracle和Java行家似乎图片吧 . 我看到了Java世界中的三个趋势 ...

  3. java set泛型_Java 集合二 泛型、Set相关

    泛型 1.在定义一个类的方法时,因为不确定返回值类型,所以用一个符号代替,这个符号就是泛型 eg:ArrayList list = new ArrayList(); 2.泛型的好处: 1.提高了数据的 ...

  4. java comparable 泛型_Java泛型的应用——T extends Comparable? super T

    在观察Java源码的时候,发现了这么一个写法T extends Comparable super T>.不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着实让人有点 ...

  5. java 接口编程_JAVA面向接口编程

    一.什么是面向接口编程 要正确地使用Java语言进行面向对象的编程,从而提高程序的复用性,增加程序的可维护性.可扩展性,就必须是面向接口的编程.面向接口的编程就意味着:开发系统时,主体构架使用接口,接 ...

  6. java 接口 抛出异常_Java接口抛出异常,但接口实现不抛出异常?

    我读到这段代码的接口抛出一个异常,但实现它不抛出一个或赶上一个类,这是为什么?在java中合法还是安全?Java接口抛出异常,但接口实现不抛出异常? import java.rmi.*; public ...

  7. java 接口对象_Java面向对象之接口——interface

    Java面向对象之接口--interface 什么是接口 一般计算机中的接口分为硬件接口和软件接口. 硬件接口:是指两个硬件设备之间的连接方式,既包括物理上的接口,还包括逻辑上的数据传送协议. 软件接 ...

  8. java 接口重载_java,_java 接口中如何声明类似于重载的方法?,java - phpStudy

    java 接口中如何声明类似于重载的方法? 我们的作业要写一个web宠物医院管理系统,因为医生.客户等都包含浏览.添加.删除操作,所以对于service层,我希望有个统一的接口以供servlet中的类 ...

  9. java interface泛型_java – 使用泛型和接口实现组合

    我正在努力实现以下目标: 我的类X有一个通用的Y.然而,这个泛型Y需要访问X的资源,我想通过接口来处理它,以便允许其他人继承任意选择的类. 然而,我目前的方法会产生一系列泛型: public inte ...

最新文章

  1. Ignite与Spark集成时,ClassNotFoundException问题解决
  2. linux nfs 修复文件,linux nfs Read-only file system
  3. HTML5程序开发范例宝典 完整版 (韩旭等著) 中文pdf扫描版
  4. 限制按钮点击_Android | 使用 AspectJ 限制按钮快速点击
  5. 如何根据原理图画封装_常用原理图封装
  6. MySQL循环语句之while循环测试
  7. html页面跳转到appstore,iOS 应用中直接跳转到 AppStore 的方法
  8. web报表工具FineReport使用中遇到的常见报错及解决办法(三)
  9. 根据列值删除Pandas中的DataFrame行
  10. HTML 初始代码 基本
  11. 计算机二级考试word论文,office二级考试之word
  12. 【matplotlib】绘图模块介绍
  13. 如何优化PNG,JPG图片减小图片文件大小
  14. STM32F103xx OLED旋转显示图片
  15. 2022-09-06 Android输入法顶起输入框,遮挡RecyclerView
  16. 大规模SNS中兴趣圈子的自动挖掘
  17. Android显示Gif图片
  18. ArcGIS学习之tif文件打开一片空白的解决办法——创建金字塔
  19. 【IPv6+燎原系列—第2期】IPv6+逐梦赛场,勇夺属于通信人的“金牌”
  20. 服务器安全篇之一【网络安全】

热门文章

  1. 张海龙:云时代企业研发人员需求与人才培养
  2. 微信小程序和Web开发的联系
  3. linux删除目录不弹出y,Linux下rm删除文件(文件夹)失败的解决
  4. linux系统frpc程序下载安装,ubuntu18.04 frpc安装与自动启动
  5. 《网络安全态势感知》学习笔记(一)——网络安全态势感知系统
  6. 英格兰功勋老将或赛季后退役:身体已吃不消
  7. day5jiayou
  8. c语言中tail和head的用法,linux管道命令之head与tail
  9. 基于python的动车售票管理系统
  10. pandas drop 方法