2015-09-01 3 views
1

Для неиспользуемых членов eclipse дайте мне предупреждение «Значение поля не используется» с модификатором частного доступа. Если модификатор был изменен на общедоступный или без модификатора, то предупреждения нет.Что такое различие между модификатором частного доступа и модификатором доступа в java?

Это создает путаницу для меня. Модификатор по умолчанию не является открытым в java. Eclipse изменит предупреждение, если модификатор был изменен на закрытый и без модификатора. Должна быть разница.

ответ

4

частный - сам только класс может получить к нему доступ

пакет-частное - Нет Модификатор не назначен. Доступ к нему могут только классы из одного пакета.

+0

да, спасибо для объяснения. –

4

Модификатор по умолчанию также называется «package-private», что означает, что к нему могут обращаться только классы в одном пакете.

1

Если класс не имеет не модификатора (по умолчанию , также известному как пакет-частное), она видна только в его собственном пакете. Таким образом, переменная имеет возможность использовать в других классах.

Где частный означает, что вы можете использовать его только в том же классе. Если вы не используете его в одном классе, его вообще не использовать, и ваша IDE говорит то же самое.

1

Причина, по которой Eclipse выдает предупреждение только для частных членов, заключается в том, что это единственная ситуация, в которой Eclipse может определить с определенностью, является ли элемент неиспользованным или нет. Eclipse знает только о коде, который существует в одном и том же рабочем пространстве, поэтому он не может определить, используются ли public, protected или видимые элементы по умолчанию другим кодом за пределами текущего рабочего пространства. private не могут быть использованы вне класса, поэтому Eclipse может выполнить «неиспользуемое» определение.