privato e protetto non hanno senso per essere ammessi a una classe/interfaccia di livello superiore (non membro).
Sono applicabili solo ai membri della classe che possono essere variabili, costanti, costruttori, metodi, classi e interfacce.
Perché:
(1) privato: Quale può essere il significato/scopo se definiamo una classe come privato. Il suo scopo dovrebbe essere privato per alcune aree. l'accesso predefinito è già pacchetto privato. E nessuno vuole che una classe sia un file sorgente privato (indovinando il motivo) potrebbe non essere una buona pratica di programmazione da consentire perché le applicazioni java sono finalmente organizzate sotto forma di pacchetti, ma non in termini di file sorgente. Qualsiasi file sorgente dovrebbe essere parte di un pacchetto, quindi nella vista generale/finale ogni classe/interfaccia è parte di un pacchetto, non solo di un file .java. Quindi non applicabile.
(2) protetto: Se qualcosa è protetto, dovrebbe essere disponibile solo all'interno del pacchetto e solo alle sottoclassi in altri pacchetti. Per estendere una classe in un pacchetto diverso, dovrebbe essere disponibile per tutte le classi in altri pacchetti, ma protetta dice che la classe dovrebbe essere disponibile solo alle classi estese. È una specie di situazione di stallo. Quindi non applicabile.
Fonte: Le mie letture e intese
Le classi interne possono essere private. –
No, non sembra dipendere da A – SlowAndSteady