2015-07-13 4 views
4

Мне просто интересно, есть ли какая-либо причина, чтобы Java разрешить общедоступные методы внутри класса с доступом по умолчанию на уровне? Я пока не мог найти. Будет оценен любой обмен знаниями.Что такое использование общедоступного метода внутри класса с доступом по умолчанию по умолчанию?

+0

Сверху моей головы: «главное» и, возможно, что-то общее с отражением. –

+0

Это очень типично. Частный класс реализует публичный API. –

+0

@RedRoboHood имеет смысл .. Спасибо за информацию. –

ответ

2

Это единственный способ, которым класс доступа по умолчанию мог бы реализовать интерфейс.

Ситуация, когда классы с доступом по умолчанию используются в качестве помощников, очень распространены. При попытке реализации интерфейса с использованием методов доступа по умолчанию с той же подписью, вы получите эту ошибку:

attempting to assign weaker access privileges; was public

Кроме того, это хорошая идея, чтобы использовать public для ясности везде метод предназначен для доступа извне класс, включая частные классы, объявленные внутри других классов или методов.

+0

Благодарим за информацию. –

1

Класс с уровнем доступа по умолчанию может реализовывать интерфейс, в этом случае его методы должны быть общедоступными. Или это может быть фасоль, поэтому ему нужны публичные методы получения и сеттера для свойств.

Смежные вопросы