Spec-Zone .ru
спецификации, руководства, описания, API

 Глава 8. Модификаторы доступа

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

 Таблица 8.1. Основные Модификаторы Доступа

  Сценарий только доступ: Это - значение по умолчанию, когда никакой основной модификатор доступа не предоставляется. Сценарий только доступ означает, что к этому можно только получить доступ в пределах сценария, где это определяется
пакет Доступ пакета: Может только быть получен доступ в пределах пакета, где он определяется.
защищенный Защищенный доступ: Может быть получен доступ от пакета, где он определяется и от подклассов class, где он определяется. Это - вероятно, все, что Вы действительно должны знать о защищенном доступе - но если Вы хотите детали, продолжать читать.... К защищенному элементу объекта можно получить доступ снаружи пакета, в котором он объявляется только кодом, который ответственен за реализацию того объекта. Что означает: Позвольте C быть class, в котором объявляется защищенный элемент м. Доступ разрешается только в пределах тела подкласса S C. Кроме того, если Идентификатор обозначает переменную экземпляра или функцию экземпляра, то: Если доступом является полностью определенным именем Q.Id, где Q является ExpressionName, то доступ разрешается, если и только если тип выражения Q является S или подклассом S. Если доступом является по переменному выражению доступа E.Id, где E является Основным выражением, или по выражению вызова функции E.Id (...) Где E является Основным выражением, тогда доступ разрешается, если и только если тип E является S или подклассом S.
общественность Открытый доступ: может быть получен доступ где угодно.

Эти основные модификаторы доступа применяются ко всем формам доступа: создание и ссылка на классы, вызывая функции, читая и пишущий сценария или переменных экземпляра, и переопределяя и устанавливая или связывая в объектном литерале переменной экземпляра.

Из-за центрального использования объектных литералов в JavaFX переменные экземпляра имеют тенденцию быть внешне visiable - и поэтому нуждаться в более усовершенствованных модификаторах доступа. Два модификатора доступа применяются только, чтобы инстанцировать и написать сценарий var.

 Таблица 8.2. Модификаторы Доступа var

считанный общественностью var может быть считан где угодно.
общественность-init var может быть инициализирован или считан где угодно. Где инициализированный набор средств (но не связанный) в объектном литерале.

Отметьте, что считанный общественностью разрешается с определением, но что это эквивалентно общественности.

Эти модификаторы доступа являются дополнением с основными модификаторами доступа. Вот некоторые примеры:

 Таблица 8.3. Примеры Модификатора доступа

var x; Объявите переменную. Переменная может быть инициализирована (в объектном литерале), может быть переопределена (в подклассе), может быть считана, присвоена, или связана (в выражении значения по умолчанию или в объектной литеральной инициализации). Право доступа значения по умолчанию является сценарием только доступ, таким образом, без модификаторов доступа, переменная может быть инициализирована, переопределена, считанная, присвоенная, или связанная изнутри сценария только.
определение x = 100; Определите x. "Что видишь, то и получишь". Определения не могут быть изменены. Они не могут быть инициализированы (в объектном литерале), не могут быть переопределены (в подклассе), и не могут быть присвоены. Значение определения может быть считано. Так как право доступа значения по умолчанию является сценарием только доступ без модификаторов доступа, определение может быть считано изнутри сценария только. Определение может быть к связанному выражению.
общедоступный var x; Объявите общедоступную переменную. Эта переменная может быть инициализирована, переопределена, читать, присвоенный, или связанный отовсюду.
общедоступное определение x = "Привет"; Общедоступное определение x. Это определение может быть считано где угодно. Определение не может быть присвоено, инициализировано (в объектном литерале) или переопределено независимо от того что права доступа.
защищенный var x; Объявите переменную, доступную от пакета или подклассов. (см. защищенный, выше, для извилистых частей),
защищенное определение x = связывает z; Определите x, который читаем от пакета или подклассов.
var пакета x; Объявите переменную, доступную от пакета.
определение пакета x = 42; Определите x, чтобы быть читаемым пакетом.
считанный общественностью var x; Переменная, которая может быть считана где угодно, но может только быть инициализирована или записана (присвоенный или связанный) в пределах сценария (так как доступ сценария является значением по умолчанию).
считанный общественностью var пакета x; Переменная, которая может быть считана где угодно, но может только быть инициализирована или записана (присвоенный или связанный) в пределах пакета.
общедоступный-init var x; Переменная, которая может быть инициализирована (объектным литералом) или считана где угодно, но может только быть записан (присвоенный или связанный) в пределах сценария (так как сценарий только доступ является значением по умолчанию).
общедоступный-init var пакета x; Переменная, которая может быть инициализирована (объектным литералом) или считана где угодно, но может только быть записан (присвоенный или связанный) в пределах пакета.