qq_23908539
2015-09-02 09:19
采纳率: 87.5%
浏览 2.1k
已采纳

java中为什么不直接用Collection接口,而是还要再造一个他们相应的抽象类?

诸如HashMap、ArrayList等具体类,都是直接继承自AbstractMap或AbstractList,为什么要设置这么个抽象类,而不直接用相应的接口?
还有这些抽象类为什么单单空着size和iterator两个方法不去实现?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2015-09-02 09:22
    已采纳

    抽象类可以添加公共方法,一些可以写的代码可以先写好,接口没办法写方法。

    已采纳该答案
    打赏 评论
  • bdmh 2015-09-02 09:38

    public interface Collection extends Iterable
    这是接口,没有任何的实现,也不能扩充,需要你自己再次继承,以扩充满足自己需要的类

    打赏 评论
  • 纵横车 2015-09-02 10:15

    如果是接口那你要把接口里所有的方法都实现,即使是空实现。但是有时候并不需要用所有的方法,所以用抽象类,只重载你需呀用的方法,这样代码能简洁一点。

    打赏 评论

相关推荐 更多相似问题