Я думаю, что заголовок очень специфичен, но вот код, иллюстрирующий вопрос. Кроме того, я понимаю, что агрегация была бы правильным выбором для этого конкретного примера, и, возможно, сам вопрос создает запах ООП; однако, хотя меня интересует ООП, меня больше интересует, как Java здесь обрабатывает уничтожение объектов.
public class SuperMarket
{
private Cashier mCashier;
public SuperMarket(...)
{
this.mCashier = new Cashier(...);
}
}
И работает.
listSuperMarkets.add(new SuperMarket(...));
Что происходит здесь, когда нет других ссылок (это может не иметь значения, не уверен при написании этого):
listSuperMarkets.remove(0);