关于接口的一个问题

如图,为什么子类要再实现一次接口?

猜想:
AppenderSkeleton是一个抽象类;JDBCAppender是一个实体类。

所以JDBCAppender再一次实现这个接口的原因是为了实现这个接口的所有方法,仅仅只通过继承AppenderSkeleton这个抽象类是达不到实现这接口所有方法的目的的,因为抽象类可以不用全部实现这个接口的所有方法。

自己可以测试一下,提供样本:
[code="java"]public interface A {
public void adfa();

public void abc();

public boolean aaa();

}
[/code]

[code="java"]public abstract class B implements A {

}[/code]

[code="java"]public class C extends B implements A{

@Override
public void adfa() {
    // TODO Auto-generated method stub

}

@Override
public boolean aaa() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public void abc() {
    // TODO Auto-generated method stub

}

}[/code]

接口是java中最高层次的抽象,所以如果要进行约定API,接口是最适合的;接口还可以多实现,这是类/抽象类做不到的

里氏替换原则?