Müssen Innards von privaten verschachtelten Klassen als privat deklariert werden?

Nach 1000s vonprivates inprivate Es ist mir aufgefallen, dass es möglicherweise nicht benötigt wird

public class Outer {

    private static class Inner { // you may drop static
        private void innerMethod() {}
    }
}

Gibt esauf jeden Fall das Fallenlassenprivate voninnerMethod() würde einen Unterschied machen inVerkapselung (oderbenutzenvon Outer zum Beispiel)? Denken Sie auch Reflexion
Obnicht wird empfohlen, es fallen zu lassen oder es gegenüber einem Codierungsstil beizubehalten?

ich würde sagenNein undfallen aber nicht wirklich sicher.

EDIT: habe gerade gemerkt, dass der WegI Es ist sicherlich falsch - zumindest fürInner'sFelder - Deklarieren Sie diese Felder als privat und verwenden Sie sie dann in der äußeren Klasse."Synthetik") Accessoren im Bytecode - das ist zumindest aufgedunsen. Großartig - also bin ich jetzt noch mehr daran interessiert, einen Bericht über die sicherheitstechnischen Auswirkungen der Deklaration dieser zu haben (InnerFelder, Methoden inOuter) Paket privat (oder öffentlich wie @JBNizet in den Kommentaren sagt)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage