come per la mia osservazione quando la classe stessa ha un modificatore di accesso predefinito, a cosa serve avere metodi pubblici in esso. il compilatore java avrebbe potuto smettere di utilizzare metodi pubblici nella classe predefinita. c'è qualche ragione per quello?a che cosa serve avere metodi pubblici quando la classe ha un modificatore di accesso predefinito?
a che cosa serve avere metodi pubblici quando la classe ha un modificatore di accesso predefinito?
risposta
Un motivo: se la classe implementa un'interfaccia (o estende una classe astratta con metodi pubblici astratti), non è possibile ridurre la visibilità di tali metodi implementati.
La classe non pubblica potrebbe implementare un'interfaccia pubblica. Ciò significherebbe che le classi esterne al pacchetto non potrebbero creare un'istanza di questa classe o creare riferimenti di quel tipo, ma sarebbero comunque in grado di invocare metodi su di essa se ha passato un'istanza.
Ad esempio, una classe di factory pubblica potrebbe creare un'istanza di una classe non pubblica nel suo pacchetto e restituirla.
Anche un'interfaccia non pubblica ha metodi pubblici. –
È una bella combinazione di sicurezza e usabilità in uno.
Vorrei contrassegnare una classe con accesso predefinito se desidero che abbia un, bene, accesso al pacchetto (in modo che nessun altro pacchetto possa usarlo o cambiare il codice) e contrassegnando un metodo pubblico, sto facendo il metodo accessibile a tutte le altre classi indipendentemente dal pacchetto a cui appartengono.
Come può essere d'aiuto? Una classe sufficientemente sicura per eseguire tutte le complesse implementazioni del codice e abbastanza utilizzabile da fornire l'output all'utente che desidera utilizzarlo.
Come può usarlo? Bene, si scrive codice per aiutarli a usarlo creando una classe pubblica che estende questa classe predefinita. Si istanzia questa sottoclasse pubblica in qualsiasi pacchetto (dopo l'importazione di corso) e questo ha tutti i metodi contrassegnati come pubblici.
Hai una classe che fa la tua magia che tutti possono usare senza dare a nessun altro un indizio di come hai fatto!
- 1. Metodo di sovrascrittura che non ha modificatore di accesso con modificatore di accesso protetto
- 2. A cosa serve `classe A [_]`?
- 3. Che cosa significa "Troppi pochi metodi pubblici" di pylint significa
- 4. Qual è il modificatore di accesso predefinito di una classe?
- 5. A che cosa serve la metaprogrammazione?
- 6. Modificatore di accesso predefinito in C#
- 7. classe abbonato non ha metodi pubblici invitato Evento
- 8. A che cosa serve un decriptato troncato?
- 9. Quando dovrei usare metodi pubblici/privati / statici?
- 10. Metodi privati su metodi pubblici
- 11. A cosa serve Loader classe personalizzata
- 12. Metodi pubblici statici vs metodi pubblici
- 13. A cosa serve la sicurezza senza thread?
- 14. A cosa serve Enum?
- 15. A cosa serve la funzione "Expando" di Dart, che cosa fa?
- 16. a cosa serve scrivere una classe all'interno di un'interfaccia
- 17. Che cos'è un test oracle e a cosa serve?
- 18. A cosa serve __RequestVerificationToken?
- 19. modificatore di accesso predefinito per enum in C#
- 20. A cosa serve la classe Comparatore <T>?
- 21. Cosa fare quando la classe WxPerl non ha un metodo?
- 22. .designer.cs a cosa serve?
- 23. A cosa serve #pragma?
- 24. A cosa serve la proprietà FormsAuthenticationTicket.Version?
- 25. A cosa serve il clientID?
- 26. A cosa serve object()?
- 27. Quando si dovrebbero usare metodi statici pubblici
- 28. Che cosa serve a .ticks() per funzionare?
- 29. A che cosa serve questo codice?
- 30. Quale ambito ha ": my $ foo" e a cosa serve?
Anche le sottoclassi pubbliche erediteranno i metodi come pubblici. –