Предупреждающее сообщение «Доступ может быть закрытым» для общедоступных методов сеттера / мутатора в IntelliJ IDEA - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть открытый класс с закрытыми полями и методы открытого сеттера для установки этих полей.Почему IntelliJ IDEA предупреждает меня, говоря «Доступ может быть закрытым» для этих методов установки?

enter image description here

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Просто: потому что IntelliJ не видит каких-либо применений для этого метода, которые бы требовали, чтобы они были public в вашем проекте.

Другими словами: IDE не «знает», что вы сделалисеттеры public специально.Он просто понял: для того, что вы делаете сейчас, вам не нужно это делать.

При написании «действительно» публичных API (возможно, для использования сторонними организациями, которые позже * 1008)* полагайтесь на ваши занятия), эту информацию безопасно игнорировать.Так что вы можете просто зайти и отключить это предупреждение, см., Например, здесь .

Помимо этого: поймите, что вам следует избегать общедоступных установщиков, где это возможно.Если у вас нет класса «bean-компонента», наличие сеттеров / геттеров для каждого и любого поля на самом деле является плохой практикой.Вы избегаете посторонних проверять внутреннее состояние (используя геттеры) и очень хотите, чтобы посторонние не переписывали внутреннее состояние (используя сеттеры).

0 голосов
/ 18 декабря 2018

IntelliJ IDEA достаточно умен, чтобы сканировать ваши пакеты и ссылки на классы внутри пакета, и если он заметит, что использование включено в основном в определенный пакет, то он попытается привить некоторую дисциплину соблюдения принципов инкапсуляции, и в этомдело: пакет приватность.Если у класса нет модификатора (по умолчанию, также известного как package-private), он виден только внутри своего собственного пакета (пакеты называются группами связанных классов.

0 голосов
/ 18 декабря 2018

Это означает, что они не используются вне класса и не должны быть общедоступными.

Ограничение доступа к методам делает ваши интерфейсы небольшими и снижает вероятность появления ошибок в ваших программах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...