Do subclasses inherit private fields?Do sottoclassi Eredita variabili di istanza privato da superclassi
Questa domanda affronta lo stesso problema, ma io non riesco a capire come questo soddisfa le (apparentemente) situazioni contraddittorie sotto.
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
dice che "Una sottoclasse non eredita i membri privati della sua classe genitore."
Ciò significa che non eredita le variabili di istanza private né i metodi privati, giusto?
Tuttavia, come funziona se eredita un metodo di accesso pubblico dal suo genitore? Restituisce una variabile di istanza che non conosce esiste?
Inoltre, il mio libro di informatica (AP Computer Science A di Baron) ha la risposta corretta a una domanda che dice che "La sottoclasse eredita tutte le variabili di istanza private e i metodi di accesso pubblico da (Superclasse)."
Non è questo in contrazione al tutorial di oracle?
Grazie per il vostro aiuto
Sono tutto per schemi di denominazione metasintattici, ma a un certo punto può diventare contorto. Probabilmente dovresti rinominare 'foobar' in' setFoo' e 'barfoo' in' getFoo'. – Jeffrey
@Jeffrey, hai assolutamente ragione nel segnalare il problema del naming, tuttavia i nomi nel codice di test non avevano alcun senso apposta per mostrare l'op, che probabilmente è un novizio di cui stiamo parlando qualsiasi membro e qualsiasi funzione, non solo impostando o ottenendo valori. Tuttavia, hai ragione quando dici di questi nomi che "non provarlo a casa, i tuoi nomi dovrebbero avere un senso". –
Ho pensato che la maggior parte delle persone avrebbe avuto il buon senso di non nominare i loro metodi come quello nel codice reale, ma quando ho cercato di seguire il tuo esempio e sono stato leggermente confuso. Posso solo immaginare quanto sarebbe confuso per un principiante. – Jeffrey