一、两者的概念对比图
接口和抽象类,老生常谈的概念,下面直接上一张自己总结的对比图
接口和抽象类对比图
二、两者的具体用法
具体的用法,直接用具体用例来说明
接口:定义的功能。在写控件或者常用的类的时候,我们首先会通篇考虑,定义好一些rules,来约束后面的行为。
抽象类:实现方法或者被子类实现的抽象方法。
eg1:接口:BaseActivity的定义,我首先会考虑BaseActivity将要写哪些方法,而不是想到哪些方法再去写。那么我会先写个接口,将我即将实现的方法,全部定义出来。
BaseActivity-接口定义
eg1:接下来,我们用抽象类实现接口中定义的部分方法
BaseActivity-抽象类的定义
eg1:在BaseActivity的抽象类里,我们实现了在接口中定义的openActivity这个抽象方法,同时,我们定义了praseJson这个抽象方法(网络请求的返回方法)。那么我们在具体的Activity中继承BaseActivity的时候,如果有网络请求的话,我们可以直接重写praseJson这个方法就可以了。
BaseActivity-继承重写
eg2:在写自定义控件或者动画的时候,定义我们可能会用到的方法。发送花的动画,首先定义花的路径和花的行为方法
动画-接口定义1
动画-接口定义2
上班了,先写到这。。。忽略上面古老的定义方法,很早写的框架