(java基础)抽象类加泛型的理解

(java基础)抽象类加泛型的理解

今天在群里问了个基础问题,挨喷了。。这更加激起了我对知识的渴望。也在此铭记一下,将来有经验了要对刚入门的童鞋们严格点,简单的东西要自己看。。。唉,程序员何苦为难程序猿呢。。

接下来简单总结下这个万能的泛型吧。。

http://files.cnblogs.com/CaptainLin/PullToRefresh.zip

上面链接是stay大神写好的各种下拉刷新View。

进入正题,此包中有个基类是如下定义的。(我刚毕业不久没看懂,毕竟学校讲泛型不多哈~借口)

public abstract class PullToRefreshBase<T extends View>

为什么类名字后面要定义个继承自View的泛型呢?不知到有啥用,删了试试。

删了自然报错,大神这样写肯定有用处的。

其中有这样一行就报错了。

protected abstract T createRefreshableView(Context context, AttributeSet attrs);

 

看到这我就有了“蓦然回首”的感觉。

什么泛型不泛型的,这个的意思就是:在此类中自定义一个类型为T,他不明确具体是什么类型。因为后来要去创建各种View如:listview,webiew等这个T就”泛指“他们。泛指大概就是泛型的来源吧。

主要用了系统的addview()方法来实现的下拉刷新。

最后自己想想这种结构的确好,抽象类+泛型生成。

 

 

你可能感兴趣的:(java基础)