Java: модификатор Доступа, более строгий, чем 'защищенный', менее строгий, чем 'частный'?

По-моему, C/C++ со строгим контролем типов. Тип взломов, которые позволяют типам быть преобразованными (пусто*) там из-за близости C с машиной. Другими словами, можно назвать ассемблерные команды от Паскаля и управлять указателями, и Паскаль все еще рассматривается как язык со строгим контролем типов. Можно назвать ассемблер и исполняемые файлы C от Java до JNI, но это не делает Java со слабым контролем типов.

C просто имеет ассемблер, "встроенный" в него с необработанными указателями и таким.

5
задан Dave L. 13 December 2011 в 17:12
поделиться

3 ответа

В Java есть только четыре уровня доступа для полей:

  • частный
  • частный пакет (по умолчанию; без модификатора доступа)
  • защищенный
  • открытый

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

Короткий ответ: нет способа достичь именно того, что требуется .

Для описания этих четырех модификаторов доступа, Управление доступом к членам класса из Учебники Java содержат более конкретную информацию.

10
ответ дан 18 December 2019 в 14:48
поделиться

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

2
ответ дан 18 December 2019 в 14:48
поделиться

Нет, нет модификатора доступа , чтобы сделать именно это. Модификатор protected - это наиболее близкий вариант, но он предоставляет поле любому классу в том же пакете, а также подклассам (внутри или вне того же пакета).

1
ответ дан 18 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: