Czy trzeba deklarować, że wnętrzności prywatnych klas zagnieżdżonych są prywatne?
Po tysiącach latprivate
sprivate
przyszło mi do głowy, że może nie być potrzebne
public class Outer {
private static class Inner { // you may drop static
private void innerMethod() {}
}
}
Jest tujakakolwiek sprawa to spadaprivate
zinnerMethod()
zrobiłoby różnicękapsułkowanie (lubposługiwać się, na przykład Outer)? Pomyśl także o refleksji
Jeślinie czy zalecane jest upuszczenie go lub zachowanie go w stylu kodowania vis?
PowiedziałbymNie iupuszczać ale nie jestem pewien.
EDYTOWAĆ : właśnie zrozumiałem, że drogaI czy to z pewnością złe - przynajmniej dlaInner
jestpola - deklarowanie tych pól jako prywatnych, a następnie używanie ich w klasie zewnętrznej - jak to generuje ("syntetyczny") akcesory w kodzie bajtowym - co najmniej rozdęte. Świetnie - więc teraz jestem jeszcze bardziej zainteresowany posiadaniem konta na temat wpływu deklarowania bezpieczeństwa na bezpieczeństwo (Inner
pola, metody stosowane wOuter
) pakiet prywatny (lub publiczny, jak mówi @JBNizet w komentarzach)