gpt4 book ai didi

java - 为什么 java.util.Stack 允许 .add(int, E)?

转载 作者:行者123 更新时间:2023-11-29 07:04:10 24 4
gpt4 key购买 nike

我正在用 Java 创建一个 Deck 类。我只希望顶部的 Card 可以访问。我正在考虑让 Deck 扩展 Stack,但是 Stack 继承自 Vector,它有一个方法 添加(整数,E)。为什么 Stack 允许您在其中的任何位置添加元素?有没有办法删除/禁止调用此方法?

另一方面,也许我完全想错了。有没有更好的方法来制作 Deck 类?我应该让它扩展和/或实现不同的类和/或接口(interface)吗?

最佳答案

我会使用 Deque(也发音为 Deck) Stack 和 Vector 是大约 20 年前设计的,而 Deque 是一个相对较新的设计(大约 8 年)

Stack 不使用允许它隐藏对其预期目的没有意义的方法的接口(interface)。

关于java - 为什么 java.util.Stack 允许 .add(int, E)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21763542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com