Ha senso fare una cosa del genere? Ci sono controindicazioni pratiche di inizializzazione
o teoriche di progettazione OO?

codice:
public class Example {
	Test exampleVar = new Test(this);
}

public class Test {
	public Test(Example component){
		this.component = component;
	}
	Example component;
}
Quando viene costruita la classe Test, Example potrebbe non essere ancora completata?
C'è un modo più intelligente per poter comunicare in maniera bidirezionale senza rendere
pubblici tutti i campi di Example? Come si fa in questi casi? Grazie.