По-моему, C/C++ со строгим контролем типов. Тип взломов, которые позволяют типам быть преобразованными (пусто*) там из-за близости C с машиной. Другими словами, можно назвать ассемблерные команды от Паскаля и управлять указателями, и Паскаль все еще рассматривается как язык со строгим контролем типов. Можно назвать ассемблер и исполняемые файлы C от Java до JNI, но это не делает Java со слабым контролем типов.
C просто имеет ассемблер, "встроенный" в него с необработанными указателями и таким.
В Java есть только четыре уровня доступа для полей:
частный
защищенный
открытый
защищенный
позволит подклассам, другим классам в том же пакете и членам в самом классе получить доступ к члену protected
.
Короткий ответ: нет способа достичь именно того, что требуется .
Для описания этих четырех модификаторов доступа, Управление доступом к членам класса из Учебники Java содержат более конкретную информацию.
Если вы управляете базой кода, вы всегда можете контролировать, что входит в пакет, с помощью базового класса - если он один в своем пакете, только подклассы могут получить доступ к члену, который вы хотите сохранить частным, за исключением подклассов .
Нет, нет модификатора доступа , чтобы сделать именно это. Модификатор protected
- это наиболее близкий вариант, но он предоставляет поле любому классу в том же пакете, а также подклассам (внутри или вне того же пакета).