`
edwardpro
  • 浏览: 300397 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JAVA学习笔记之泛型接口

阅读更多
应该是我很久没有好好学技术了,有时候想用的时候却发现不会写,比如今天遇到了泛型接口,所以要记录一下,这样才能更明白...
在这里我并不想说泛型接口怎么写,这个很简单,后面会写的,只是想说我为什么要用.
泛型接口的意图是什么?请看如下的问题:

abstract class BaseBean{
//略
}

Interface IA{
public BaseBean doSomething();
}
 

下面我们继承这个BaseBean
class ChildBean extends BaseBean{

}
 

接下来实现接口
class IAImpl implements IA{
public BaseBean doSomething(){
return new ChildBean();
}
}
 

好了这是惯常的写法,但是同学们有没有发现一个问题当你返回得到BaseBean的时候其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,因为调用者完全不知道调用什么.那么我们来描述我们需要什么:
我们需要IA的doSomething返回的是一个对象这个对象extends于BaseBean

那么接下来我们就用泛型接口吧:
Interface IA<T extends BaseBean>{
public T doSomething();
}

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

这样当你调用这个实现的时候就能明确地得到返回的对象类型,清楚明了,这就是泛型接口的使用.其实我们平时一直在用的 Iterable就是这玩意大家可以去看下. 回家准备读下java编程思想中的相关段落.
总结今天收获很大,这里要感谢下灵芝同学给我的帮助,是她告诉了我,我所想要的东西叫泛型接口,感谢...
下次等我把泛型都再重新回炉下,再来把泛型的其他东西讲来听听...
5
1
分享到:
评论
4 楼 wangluo19 2011-07-05  
对T解释的很清楚,以前看到java源码中的T就晕了,现在好了明白了
3 楼 huangfoxAgain 2010-11-07  
不错!!!
2 楼 javaonejcy 2010-04-21  
非常感谢,给我解决了一个非常困惑的问题
1 楼 lym6520 2009-02-03  
以前大概了解过,不是很清楚,看的下你的文章,不错,总算比较清楚了!

相关推荐

    java学习笔记 初学者必读

    1.1. JAVA特点 1-4 1.2. 运行原理 1-4 1.3. JAVA目录 1-4 2. 一•基础知识 2-4 2.1. 配置环境 2-4 2.2. Java中基本概念 2-5 3. 二•定义,关键字和类型 3-5 3.1. 注释的三种形式 3-5 3.2. Java代码中的“;”、“{}...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍  《java jdk 7学习笔记》是作者多年来教学实践经验的总结...

    Java/JavaEE 学习笔记

    Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...

    Java学习笔记

    2、面向对象:最终是面向接口编程的,封装、继承、多态、设计模式、异常、包 3、JAVA应用开发部分:JAVA类集、JAVA IO、JDBC; 概念和原理方面:线程、类库API(文档)、泛型、枚举、注解、反射、网络等 JAVA中最大...

    java内部学习笔记.docx

    3.15接口 25 3.16内部类 26 3.17匿名类 27 3.18二维数组和对象数组 28 3.19其他注意事项 28 Java SE核心I 30 4.1 Object类 30 4.2 String类 31 4.3 StringUtils类 33 4.4 StringBuilder类 33 4.5正则表达式 34 4.6 ...

    Java学习笔记-个人整理的

    {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {2.10.3}静态代码块}{62}{subsection.2.10.3} {...

    Java开发详解.zip

    000000_【课程介绍 —— 写在前面的话】_Java学习概述笔记.pdf 010101_【第1章:JAVA概述及开发环境搭建】_JAVA发展概述笔记.pdf 010102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建笔记.pdf 010201_【第2...

    java_se_learning:java se learning project JAVA基础学习笔记和演示案例代码项目

    JAVA学习资料 几种常见排序算法.docx JAVA 修饰符 JAVA泛型 韩顺平java笔记完整版-基础篇 ##数据类型 JAVA中的基本数据类型有四类八种:整数类型、小数类型、字符类型、布尔类型。 整数类型:byte、short、int、long...

    整理后java开发全套达内学习笔记(含练习)

    Generic [java] 泛型 [dʒi'nerik] goto (保留字) 跳转 heap n.堆 [hi:p] implements (关键字) 实现 ['implimәnt] import (关键字) 引入(进口,输入) Info n.信息 (information [,infә'meiʃәn] ) ...

    J2EE学习笔记(J2ee初学者必备手册)

    Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...

    恒生电子JAVA笔试试题-Thinking-In-Java-Notes:ThinkinginJava学习笔记

    Java》学习笔记 [TOC] 阅读计划 章节列表 对象导论 一切都是对象 操作符 控制执行流程 初始化与清理 访问权限控制 复用类 多态 接口 内部类 持有对象 通过异常处理错误 字符串 类型信息 泛型 数组 容器深入研究 Java...

    跟汤老师学Java(第12季):枚举、泛型、内部类

    本课程从零开始,以通俗易懂的方式讲解Java技术,...5.泛型接口 6.泛型方法 7.泛型特性 8.内部类简介 9.成员内部类、局部内部类、静态内部类、匿名内部类 教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

    lambda-notes:Lambda 表达式学习笔记

    Java 8 Lambda表达式学习笔记,摘自书籍 ,笔记内只举了实例,没有进行过多的解释与剖析,可以通过IDE进入Java 8 的相关源码进行查看理解,查看主要知识储备包括: 接口定义 Java 8 default关键字 泛型 匿名内部类 ...

    J2SE技术总结-Java学习精华教程-电子书

    本书内容非常全面,涵盖了《Java编程思想》、《Java学习笔记》等书籍所有知识要点,并结合作者自己经验总结而编写,内容丰富程度胜过一切书籍 众所周知,一般书籍为了销售需要,往往很少的知识点,却需要添加大量的...

    高级java笔试题-ShiftJava:学到头秃的Java的小笔记

    对象与类:继承、接口、抽象类、内部类、枚举、常用类、常用接口、注解等。 异常:异常体系等。 泛型:用法、类型参数、通配符等。 2. 集合与容器 集合容器类:队列、列表、栈、Map、Set 等结构,含 ArrayList、...

    JAVA入门学习笔记(1)– Collection集合的基础知识

    对集合操作的接口3.1 Collection接口3.2 List接口3.3 Set接口4. 集合类4.1 集合的实现类4.1.1 ArrayList 4.1.2 LinkedList 4.1.3 Vecotor4.1.4 HashSet 4.1.5 LinkedHashSet 4.2 Conllections工具类5. 集合的遍历...

    观看韩顺平Java的 所做的笔记 到互斥锁 其中里面有我很多心得 老手可以用来复习 新手可以用学习 也可以当做参考 来做笔记

    ArrayList 底层结构和源码分析 Vector 底层结构和源码剖析 LinkedList 底层结构 ArrayList 和 LinkedList 比较 Set 接口和常用方法 Map 接口和常用方法 总结-开发中如何选择集合实现类(记住) Collections工具类 泛型 ...

    整合spring3-hibernate的小项目(二)

    【SSH学习笔记】整合spring3-hibernate的小项目(二) 配套资源 需求分析: 1、使用spring注入dataSourse数据源 2、使用BaseDao获取注入SessionFactory并返回Session 3、用generic接口及其实现类,实现泛型化的...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

Global site tag (gtag.js) - Google Analytics