Oppure, se l'ereditarietà non è essenziale, puoi usare una classe interna (avevi aperto proprio un topic a riguardo
):
le classi interne possono accedere a tutte le variabili e a tutti i metodi della classe in cui sono contenute, siano essi pubblici, privati, protected o package. Esempio:
codice:
class A {
private class B {
public void stampaValore() {
// Posso accedere tranquillamente a 'variabile' anche
// se è privata in A
System.out.println(variabile);
}
}
private int variabile;
private B b;
public A() {
variabile = 5;
b = new B();
}
private void stampa() { b.stampaValore(); }
public static void main(String [] args) {
A a = new A();
a.stampa();
}
}
Ciao.