在理解java集合框架和 Iterator Pattern的关联时遇到了接口的继承问题
这里写下对接口继承的个人理解,理解前需要补充接口和继承知识
什么是java接口
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现。
不同于接口的概念,接口是一个类所具有的方法的特征集合,是一种逻辑上的抽象。
java中类的继承有哪些特性
父类引用子类特性
1、若子类覆盖了某方法,则父类引用调用子类重新定义的新方法
2、若子类未覆盖某方法,则父类引用调用父类本身的旧方法
3、若子类覆盖了某属性,但父类引用仍调用父类本身的旧属性
4、若子类未覆盖某属性,则父类引用调用父类本身的旧属性
5、父类引用不能访问子类新定义的方法
java接口的继承
java接口可以有多继承
public interface interfaceTest extends Interface1,Interface2{
}
父接口引用子接口特征
夫接口引用可以访问子接口实现类重写的方法
接口的实现需要重写该接口和该接口的所有父接口的所有特征方法
Iterator.java:
public interface Iterator{
public void iterator();
}
ListIterator.java:
public interface ListIterator extends Iterator {
public void listIterator();
}
ListIteratorImpl.java:
public class ListIteratorImpl implements ListIterator {
@Override
public void iterator() {
}
@Override
public void listIterator() {
}
}
所以父接口引用可以调用子接口实现类的特征方法
Iterator iterator = new ListIteratorImpl();
iterator可执行实现类 iterator()或listIterator()方法