Se per ogni oggetto di tipo A hai associato un oggetto di tipo B, potresti implementare B come classe interna (non static) di A, in questo caso B potrebbe accedere a tutte le variabilil (anche private) di A.

se hai cardinalita' diverse (esempio un solo oggetto A per molti oggetti B) potresti far implementare a B l'interfaccia PropertyChangeListener e aggiunggerla ad A.


Il modo piu' semplice e meno elegante nonche meno riutilizzabile e' passare un rifermineto ad A quando costruisci B in A

codice:
B b = new B(this);