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