没抽象方法的抽象类是否可以继承呢?因为没有抽象方法可供覆盖啊。这种抽象类一般用在哪些情况?
可以继承,这个用法在API中有个很显然的地方就是 事件监听机制中的Listener与Adapter的用法,
当Listener接口有三个方法以上,而通常子类在实现时,只需要实现一个方法。另两个方法不想管,但接口规则是必须实现所有方法。所以那两个方法实现也是空方法。
为了简化代码,API中提供了大类的这相的Adapter抽象类,实现了Listener接口,但都是空方法。 所以Adapter被标识为抽象类(这样也防止实例化一个无意义的Adapter对象)。
这样,你的类在实现Listener时就简单了,可以直接继承Adapter就可以了。 |