为什么Stack在JDK中扩展Vector?

Stack不是Vector那么为什么Stack类正在扩展(是一种关系)在JDK中的Vector类,Stack假设使用push()pop()操作,但因为它扩展了Vector我能够做add()remove()堆栈上的操作。

我认为宁可扩展Vector类,Stack类应该使用Vector类作为组合。

过时的课程

StackVector都包含在Java的第一个版本中。 由于当时的互联网狂潮,Java被赶到了市场之前。

与那些最早版本的Java捆绑在一起的一些类,例如日期时间类,没有经过深思熟虑。 他们没有受到同行评审和公众监督,因为后来的图书馆,例如通过JAva社区流程以及开源项目和行业联盟项目产生的一些图书馆。

Java Collections框架

Java Collections框架取代了这两个类。 类似地, java.time框架取代了旧的日期时间类,例如java.util.Date / .Calendar 。 旧类保留在Java中以便与现有应用程序向后兼容,但不应在新代码中使用。

Stack类文档告诉你这一点,清楚地说你应该使用Deque接口的实现。