ho una classe con una variabile root privata,
una sottoclasse che in un metodo la utilizza e il compilatore mi da questo errore:
"root has private access"
ho una classe con una variabile root privata,
una sottoclasse che in un metodo la utilizza e il compilatore mi da questo errore:
"root has private access"
non posso accedere direttamente alle variabili della superclasse anche se private?
No. Se la superclasse ha delle variabili private, la sottoclasse non le eredita. La sottoclasse eredita solo variabili public e protected
Se vuoi trovare l'arcobaleno, devi sopportare la pioggia
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:
Ciao.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(); } }
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza