Java 为什么AbstractList、AbstractSet使抽象不是接口
在学习抽象类和接口时。我很想知道为什么java集合中的所有类都是抽象的。为什么他们不实现接口而不是抽象类。我的问题是AbstractList,AbstractSet。为什么他们不让他们的界面 注::-我需要设计预期答案 我很想知道为什么java集合有所有的类抽象 这种假设是错误的,因为您有像Collection、List和Set这样的接口。。。在集合框架中 为什么他们不实现接口而不是抽象类 如果你的意思是Java 为什么AbstractList、AbstractSet使抽象不是接口,java,interface,abstract-class,Java,Interface,Abstract Class,在学习抽象类和接口时。我很想知道为什么java集合中的所有类都是抽象的。为什么他们不实现接口而不是抽象类。我的问题是AbstractList,AbstractSet。为什么他们不让他们的界面 注::-我需要设计预期答案 我很想知道为什么java集合有所有的类抽象 这种假设是错误的,因为您有像Collection、List和Set这样的接口。。。在集合框架中 为什么他们不实现接口而不是抽象类 如果你的意思是AbstractList,AbstractSet。等等,因为它提供了基本的实现,这在接口(j
AbstractList,AbstractSet
。等等,因为它提供了基本的实现,这在接口(java8下面)中是不可能的
最后,结合你的两个观点,你可以看到
AbstractList implements Iterable<E>, Collection<E>, List<E> {}
AbstractList实现Iterable、Collection、List{}
我很想知道为什么java集合有所有的类抽象
这种假设是错误的,因为您有像Collection、List和Set这样的接口。。。在集合框架中
为什么他们不实现接口而不是抽象类
如果你的意思是AbstractList,AbstractSet
。等等,因为它提供了基本的实现,这在接口(java8下面)中是不可能的
最后,结合你的两个观点,你可以看到
AbstractList implements Iterable<E>, Collection<E>, List<E> {}
AbstractList实现Iterable、Collection、List{}
大多数java集合同时实现了接口和扩展抽象类
例如:
- HashMap和TreeMap扩展了实现Map的AbstractMap
- ArrayList和LinkedList扩展了实现列表的AbstractList
- HashSet和TreeSet扩展了实现Set的AbstractSet
List<String> myList = new ArrayList<>();
List myList=new ArrayList();
大多数java集合同时实现了接口和扩展抽象类
例如:
- HashMap和TreeMap扩展了实现Map的AbstractMap
- ArrayList和LinkedList扩展了实现列表的AbstractList
- HashSet和TreeSet扩展了实现Set的AbstractSet
List<String> myList = new ArrayList<>();
List myList=new ArrayList();
列表
,集合
,地图
,集合
都是接口。如果您谈论的是AbstractList
、AbstractCollection
、AbstractMap
、或AbstractSet
,那么您所需要做的就是查看Javadoc以了解实现它们的原因
例如:
公共抽象类抽象集
扩展抽象集合
机具组
此类提供Set接口的框架实现,以
尽可能减少实现此接口所需的工作量。过程
通过扩展此类实现集合的方法与
通过扩展AbstractCollection实现集合,除了
此类子类中的所有方法和构造函数都必须
遵守集合接口施加的附加约束(对于
实例,add方法不能允许添加多个
对象的实例到集合)
请注意,此类不会覆盖来自的任何实现
AbstractCollection类。它只是为
等于和hashCode
列表
,集合
,地图
,以及集合
都是接口。如果您谈论的是AbstractList
、AbstractCollection
、AbstractMap
、或AbstractSet
,那么您所需要做的就是查看Javadoc以了解实现它们的原因
例如:
公共抽象类抽象集
扩展抽象集合
机具组
此类提供Set接口的框架实现,以
尽可能减少实现此接口所需的工作量。过程
通过扩展此类实现集合的方法与
通过扩展AbstractCollection实现集合,除了
此类子类中的所有方法和构造函数都必须
遵守集合接口施加的附加约束(对于
实例,add方法不能允许添加多个
对象的实例到集合)
请注意,此类不会覆盖来自的任何实现
AbstractCollection类。它只是为
等于和hashCode
集合框架有一些接口,如
List
、Map
、Set
等
然后是实现接口的抽象类,以及在所有具体实现中常用的定义/实现方法。示例:AbstractList
,AbstractSet
,AbstractMap
然后向具体的集合类添加附加功能,如扩展这些抽象类的
ArrayList
,HashMap
,HashSet
。集合框架具有List
,Map
,Set
等接口
然后是实现接口的抽象类,以及在所有具体实现中常用的定义/实现方法。示例:AbstractList
,AbstractSet
,AbstractMap
然后向具体的集合类添加附加功能,如扩展这些抽象类的
ArrayList
,HashMap
,HashSet
。您的意思是像列表
,集合
,Map
interfaces?Collection
是一个接口为什么java集合有