我有一個元素集合,並希望分開添加和刪除元素的能力,所以我用這些能力創建了兩個類。然後,我還希望卸妝類能夠獲取加法器類的實例並將其所有元素轉移到卸妝器自己的集合中。綜觀例子很多更容易解釋它:在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