今天在群里问了个基础问题,挨喷了。。这更加激起了我对知识的渴望。也在此铭记一下,将来有经验了要对刚入门的童鞋们严格点,简单的东西要自己看。。。唉,程序员何苦为难程序猿呢。。
接下来简单总结下这个万能的泛型吧。。
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()方法来实现的下拉刷新。
最后自己想想这种结构的确好,抽象类+泛型生成。