У меня есть набор элементов и вы хотите отделить способность добавлять и удалять элементы, поэтому я сделал два класса с этими способностями. Затем я также хочу, чтобы класс удаления мог взять экземпляр класса сумматора и передать все его элементы в собственную коллекцию удаления. Глядя на пример объясняет это намного более легко:Доступ к члену суперкласса переменной в 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