我想知道如何在indexOf()
的子类中覆盖ArrayList
方法。我需要对私有瞬态elementData
var使用相同的访问权限。
如何解决我的设计?
编辑:这可能是一个有效的解决方案,将对elementData [i]的调用更改为类似的this.get(i)(实际上是允许的吗?)。它会破坏或破坏逻辑吗?
答案 0 :(得分:5)
基本上你不应该。如果要创建一个行为方式与ArrayList
不同,请使用组合。 ArrayList
的私人详细信息是私有的,有充分理由;它们是实现细节,可能会在不同版本之间发生变化,而您的代码也不应该关心它们。
(可能扩展ArrayList
实际上是一种有效的方法,但不太可能是IMO。你还没有说出你真正想要实现的目标,只是阻止你实现目标如果你能告诉我们更多关于大局的信息,我们更有可能提供帮助。)
答案 1 :(得分:1)
您可以创建一个容器,该容器提供与ArrayList相同的方法,并且具有ArrayList类型的字段(用于数据存储)。然后将所有ArrayList方法添加到容器类中,该容器类在ArrayList(字段)上执行相应的方法,除了要覆盖的那些方法。