【问题标题】:Pointer from one class to outer class?从一个类指向外部类的指针?
【发布时间】:2012-04-26 10:10:18
【问题描述】:

我有一个对象的 ArrayList,它们用于辅助类的子类中。我正在向子类发送所需的数据,例如new subclass(ArrayListObject),并且这些子类在辅助类的映射结构中处理。由于一个 ArrayListObject 存储在 helperclass 中,我假设它将链接到子类中,这些子类需要这个对象进行计算。但是,从我在调试器中看到的情况来看,当更改时,子类中的 ArrayListObject 不会更改。

有没有办法让它成为指向另一个类变量的指针?或者是最合适的处理方法是让子类在构造函数中接收对 helperclass 的引用,调用 helperclass.getArrayObject 方法?

【问题讨论】:

  • 一些代码或sscce 在这里会有所帮助。

标签: java oop arraylist subclass


【解决方案1】:

你想要完成的,一个指针,在 Java 中是不可用的。要解决此问题,您应该将 ArrayListObject 设为 helperclass 的受保护字段。从这里开始有两种方法:

  1. 如果从未在类及其子类之外访问该字段,请在需要该值时调用super.mArrayList
  2. 如果需要在任何地方访问该字段,请创建一个公共getArrayListObject() 以返回对象的值。

【讨论】:

  • 这很有趣,但这对我的问题没有帮助。 ArrayList 仅由辅助类修改,应该很少更改。
  • 如果它很少改变,那就放弃波动性并用getter创建一个私有字段。
  • 并在构造函数中发送对类的引用?或者有没有更好的方法来获得这样的指针?
  • 查看我的编辑。我想我明白你现在想要做什么
  • 我猜如果需要类间指针,你就必须创建自己的容器类?
猜你喜欢
  • 2011-02-04
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
相关资源
最近更新 更多