si fa con una classe innestata:
codice:
public class Example {
Test exampleVar = new Test();
public void stampaCiao() {
System.out.println("Ciao");
}
public class Test {
public Test(){
Ogni oggetto di tipo Test ha automaticamente un riferimento alla classe che lo ha creato.
Il riferimento alla classe Example si fa così:
Example.this.stampaCiao();
}
}
}
Le classi innestate vedono tutti i metodi e attributi privati della classe che li contiene e viceversa. Ossia la classe che li contiene vede tutti i metodi privati.
Se classe innestate è private class Test allora l'interfaccia non è pubblica. Vabbè, ci sono ampliee spiegazioni al riguardo.