java泛型
来源:互联网 发布:蚁群算法 matlab 三维 编辑:程序博客网 时间:2024/06/18 05:52
人在江湖,总是要还的。今天在做项目时,遇到一个泛型类,没有看太懂,于是回过头来看《java编程思想》中的泛型。
泛型的主要目的是为了创造容器类。
我们先来看看只能持有单个对象的类,
public class holder1{ private Animal a;}
这个类就无法持有其他类型的对象了。
在javaSE5之前,我们可以直接让这个类持有Object的对象。
public class holder2{ private Object a;}
但是,编译器是无法知道Object到底是什么类型的对象的,只有程序运行起来才知道a的具体类型、
泛型的主要目的就是用来指定容器类要持有什么类型的对象,并由编译器来保证类型的正确性。
public class holder3<T>{ private T a;}
这样在创建holder3对象的时候就告诉编译器泛型的类型。
这就是泛型的核心概念,告诉编译器想使用的类型,然后编译器帮你处理一切细节。
一般而言,你可以认为泛型跟其他类型差不多,只不过他碰巧有类型参数罢了。作者的这句话,我不是很理解,我总结:泛型就是为类为方法预留的类型占位符,等创建类、继承类、实现类、调用方法的时候再去指定这个类型。正如上面的例子所si,这样极大的增强了类、方法的灵活性。
阅读全文
0 0
- 【java 2】java泛型
- Java 泛型 Java generic
- Java Tutorials_Generics(java泛型)
- Java基础 Java 泛型
- java 泛型
- java泛型
- Java泛型
- Java泛型
- java泛型
- java泛型
- java泛型
- Java 泛型
- Java泛型
- Java 泛型
- JAVA 泛型
- java 泛型
- java泛型
- Java泛型
- Hive分区的概念
- java项目经验
- oracle clob like
- PL/SQL学习总结
- 深入剖析Java中的装箱和拆箱
- java泛型
- 剑指Offer----反转链表
- 浏览器离线缓存websql简单实现
- mac 上 pycurl与libcurl版本依赖不一致问题修改
- php excel导出 导入问题 csv格式
- ionic局部刷新
- 【C++】关键字const
- Android系统架构 五层结构
- 今年暑假不AC(贪心)