Java编程基础教程之泛型
来源:互联网 发布:tripmode for windows 编辑:程序博客网 时间:2024/06/05 23:50
在面向对象中,多态是一种泛化机制。比如:
private static void f(Object o){ System.out.println(o.hashCode()); }f("a");
定义的方法参数是父类,在调用这个方法的时候可以用它的子类。【这是用类继承的一种方式】还有一种方式是方法的参数是一个接口,然后调用这个方法的时候传递进去的是实现了这个接口的类。
这两种方案都是需要在我们调用方法的时候传递进去继承或实现接口的类。这样是不够灵活的。
15.2 泛型怎么来的
大家有没有想过JAVA的作者为什么要设计泛型?
比如我有一个容器(List列表吧),我想放不同类型的对象(比如想放一个Student对象、Teacher对象)。那这个容器能支持吗?
大家可能会说可以支持,比如我们定义一个List<Object>那是不是都可以往里面存呢。当然是可以的。那有没有一种更好的办法呢?
对了,我们可以先不指定类型,而是再稍后再决定具体要使用哪种类型。那要怎么才能做到?这个时候就引入了所谓的类型参数。List<T>类似这样的
定义的时候先用T这样占着,等到要使用的时候再换成具体的子类即可。
举个例子,写一个元组
class Tuple<T,F> { public final T object1; public final F object2; public Tuple(T a,F b){ object1=a; object2=b; }}
定义的时候先写入类型参数 。在具体用的时候再赋具体的类型参数进去。
15.3 泛型接口
那我们在写面向对象代码的时候,有没有考虑过在接口上面定义泛型呢。其实也是可以的。
15.4 泛型方法
记住!只要你能做到,你就尽量使用泛型方法。<T> void f(T x) 把泛型参数置于返回值之前
阅读全文
0 0
- Java编程基础教程之泛型
- java基础教程-多线程编程
- java基础教程-多线程编程
- java基础教程-多线程编程
- java基础教程-多线程编程
- java基础教程-多线程编程
- java基础教程-多线程编程
- java基础教程:面向对象编程之封装(14)
- java基础教程:面向对象编程之继承(15)
- java基础教程之异常
- java基础教程-多线程编程(上)
- JAVA基础教程之入门学习方法
- I学霸官方免费教程三十:Java基础教程之泛型
- Spring 基础教程之五:AOP编程介绍
- Firebreath基础教程之四:基本编程
- java基础教程-多线程编程(下)
- Java基础教程 - 编程语言的发展
- Java之泛型编程
- hive的四种数据导入方式
- Java常用日志框架介绍
- windows mangoDB
- [CSP] 201609-5 祭坛
- 修改MySql/MariaDB密码
- Java编程基础教程之泛型
- OpenMV使用初步
- 11.26 语句 程序流程变量 for&while的总结
- mybatis框架(1)---mybatis入门
- python实现自动保存windows聚焦壁纸
- linux 6下面用udev配置asm磁盘的注意事项
- 详述Canvas(四)/绘制曲线
- JavaScript 中的 prototype
- 最小窗口问题--Java语言