stackoverflow.com/a/8257808/521754
у меня есть внутренние классы с закрытыми методами или полями, компилятор должен создавать синтетические методы доступа, защищенные пакетами, чтобы позволить внешнему классу обращаться к этим закрытым элементам (и наоборот).
Чтобы избежать этого, я обычно делаю все поля, методы и конструкторы пакетными, а не закрытыми.
Но как насчет видимости самого класса? Есть ли накладные расходы на
private static class A {
A(){}
}
против
static class A {
A(){}
}
Обратите внимание, что конструктор защищен пакетами в обоих случаях, или изменение класса private делает это?