接口
接口和接口关系的总结:
1:类名上发生关系
2:方法变量上发生关系
3:接口中定义接口
1:接口继承接口
提供遍历的功能
public interfaceIterable {
Iterator iterator();
}
每个集合对象都要提供一个遍历的功能,就让集合的接口继承了Iterable
这样集合接口就绑定了一个遍历的功能。
public interfaceCollectionextendsIterable {
这样Collection可以自由的被实现,但是一定绑定着一个Iterable,同时Iterable也可以被自由的实现。
场景:一种抽象需要依赖一种抽象。
2:接口作为抽象方法中的参数
假设Observable是个接口(实际上java提供的是个类)
public interfaceObserver {
voidupdate(Observable observable, Object data);
}
3:接口中定义接口
public interfaceBaseView{
voidsetPresenter(T presenter);
}
public interfaceBasePresenter{
voidstart();
}
public interfaceTaskDetailContract {
interfaceViewextendsBaseView {
voidsetLoadingIndicator(booleanactive);
voidshowTaskMarkedComplete();
voidshowTaskMarkedActive();
booleanisActive();
}
interfacePresenterextendsBasePresenter{
voideditTask();
voiddeleteTask();
voidcompleteTask();
voidactivateTask();
}
}
抽象类
抽象类的总结:
1:类名上发生关系
2:方法变量上发生关系
3:抽象类中定义抽象类
4:成员变量上发生关系
1:抽象类继承抽象类
public abstract classOutputStreamimplementsCloseable, Flushable
abstract classAbstractFilterextendsOutputStream
2:抽象类作为抽象类的成员变量
带泛型的抽象类作为成员变量
public abstract classBaseActivityextendsBasePresenter>
extendsAppCompatActivity {
//Presenter类的实例对象,利用泛型,动态设置Rresenter的具体对象publicTmPresenter;
public abstract classBaseActivityextendsAppCompatActivity {
//Presenter类的实例对象,利用泛型,动态设置Rresenter的具体对象publicBasePresentermPresenter;
网友评论