问题描述
- java中为什么不直接用Collection接口,而是还要再造一个他们相应的抽象类?
-
诸如HashMap、ArrayList等具体类,都是直接继承自AbstractMap或AbstractList,为什么要设置这么个抽象类,而不直接用相应的接口?
还有这些抽象类为什么单单空着size和iterator两个方法不去实现?
解决方案
抽象类可以添加公共方法,一些可以写的代码可以先写好,接口没办法写方法。
解决方案二:
public interface Collection extends Iterable
这是接口,没有任何的实现,也不能扩充,需要你自己再次继承,以扩充满足自己需要的类
解决方案三:
如果是接口那你要把接口里所有的方法都实现,即使是空实现。但是有时候并不需要用所有的方法,所以用抽象类,只重载你需呀用的方法,这样代码能简洁一点。
时间: 2024-09-20 21:05:21