我有一个元素集合,并希望分开添加和删除元素的能力,所以我用这些能力创建了两个类。然后,我还希望卸妆类能够获取加法器类的实例并将其所有元素转移到卸妆器自己的集合中。综观例子很多更容易解释它:在Java中访问变量的超类成员?
public class Super {
private Queue<E> elements;
public class Thrower {
public void throw(E e) {
elements.add(e);
}
public class Catcher {
public E catch() {
return elements.poll();
}
public void transfer(Thrower t) {
elements.drainTo(Super.t.elements);
}
}
}
然而,Super.t.elements
不起作用。我想它会因为你可以做像Super.this.elements
这样的东西。
是否有反正我可以保持我的分离添加/删除,而能够实施transfer()
方法?
什么是B? E和B之间有任何关系吗? –
Ahhhh对不起......我将它们改名为更具描述性,并且忘记了其中一个...修正了 – tribe1279
对我来说,这似乎是一个更好的设计,必须接口Adder和Remover并让Super实现这些。 – Eelke