Müssen Innards von privaten verschachtelten Klassen als privat deklariert werden?
Nach 1000s vonprivate
s 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 (Inner
Felder, Methoden inOuter
) Paket privat (oder öffentlich wie @JBNizet in den Kommentaren sagt)