本文共 875 字,大约阅读时间需要 2 分钟。
泛型实现了参数化类型的概念。注意,什么是参数化类型?举个例子
DaoHolder<T>
DaoDaoHolder:表示类 <T> T就表示参数。
上面什么意思。表示我这个类使用很多很多类型。T可以被Person、Org等类替换。
泛型最初的目的是希望类和方法有最广泛的表达能力。如何实现?
就是通过 DaoHolder<T> 与使用类之间的约束。DaoHolder<Org>在java中有很多原因促成泛型的出现,其中一个主要原因是容器。容器就是存放使用对象的地方。数组算容器,但是泛型更加灵活,具备更多灵活的功能。程序在运行的时候需要一大堆对象,这就是容器的用途,容器算是最有用的类了。
泛型的主要目的
指定容器要持有什么类型的对象,由编译器保证类型的正确性。
我们更喜欢暂时不指定类型,而在使用时决定是什么对象类型。如何达到这个目的,对了,使用类型参数,用尖括号括住,放在类的后面。
public class Holder3{ private T a; public Holder3(T a) { this.a = a; } public void set(T a) { this.a = a; } public T get() { return a; } public static void main(String[] args) { Holder3 h3 = new Holder3 (new Automobile()); Automobile a = h3.get(); // No cast needed // h3.set("Not an Automobile"); // Error // h3.set(1); // Error }class Automobile {}}
转载地址:http://qqaql.baihongyu.com/