分享

好程序员笔记--泛型

 昵称18593886 2014-07-17

从jdk1.5开始,Java中开始支持泛型。所谓泛型,我的感觉就是,不用考虑对象的具体类型,就可以对对象进行一定的操作,对任何对象都能进行同样的操作。这就是灵活性之所在。但是,正是因为没有考虑对象的具体类型,因此一般情况下不可以使用对象自带的接口函数,因为不同的对象所携带的接口函数不一样,你使用了对象A的接口函数,万一别人将一个对象B传给泛型,那么程序就会出现错误,这就是泛型的局限性。所以说,泛型的最佳用途,就是用于实现容器类,实现一个通用的容器。该容器可以存储对象,也可以取出对象,而不用考虑对象的具体类型。因此,在学习泛型的时候,一定要了解这一点,你不能指望泛型是万能的,要充分考虑到泛型的局限性。。首先给出一个泛型类:
public class Pair<T> { 
     public Pair() { first = null; second = null; 
}
public Pair(T first, T second) {
     this.first = first; this.second = second; 
}
public T getFirst() { 
return first;
}
public T getSecond() {
return second;
}
public void setFirst(T newValue) { 
first = newValue; 
}
public void setSecond(T newValue) { 
second = newValue; 
} private T

我们看到,上述Pair类是一个容器类(我会多次强调,泛型天生就是为了容器类的方便实现),容纳了2个数据,但这2个数据类型是不确定的,用泛型T来表示。

泛型可以继承自某一个父类,或者实现某个接口,或者同时继承父类并且实现接口 泛型也可用于匿名内部类 

泛型类也可以继承

Public Class A<T,A> extends Public  Holder3 <T,A>{}
Public Class A<T,A,B> extends  Holder3 <T,A >{}
泛型也可以用于接口
Public interface A<T>{}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多