Каково различие между модификаторами доступа и спецификаторами доступа?

В Java действительно ли спецификаторы доступа и модификаторы доступа являются тем же самым?

41
задан Marc Mutz - mmutz 29 July 2010 в 17:17
поделиться

5 ответов

"модификатор доступа" - это официальный термин для private, protected и public, используемый в спецификации языка Java. "Спецификатор доступа" используется как синоним в Java API doc, но это первый раз, когда я это заметил. Вероятно, лучше придерживаться термина JLS.

41
ответ дан 27 November 2019 в 00:54
поделиться

Ссылаясь на документы Sun Java, они оба, похоже, быть таким же:

6
ответ дан 27 November 2019 в 00:54
поделиться

Рассмотрим набор инструментов gui.

Элемент управления правкой - это окно, оно должно наследовать функции закрытия/включения/заливки окна - оно не содержит окна.

Тогда элемент управления форматированным текстом должен содержать функции сохранения/чтения/вырезания/вставки элементов управления правкой, будет очень трудно использовать, если он будет содержать только окно и элемент управления правкой.

-121--1537517-
GetType(IMyInterface).GetCustomAttributes(GetType(MyCustomAttribute), false).Length > 0

(Надеюсь, что синтаксис VB правильный.) В основном, получите тип, представляющий IMyInterface, затем вызовите GetCustomAttributes для него, передавая тип атрибута, который вас интересует. Если возвращается непустой массив, атрибут присутствует.

-121--4780073-

По мне, да, оба термина относятся к одному и тому же и используются взаимозаменяемо.

0
ответ дан 27 November 2019 в 00:54
поделиться

Технически говоря, private, public, protected и default рассматриваются как спецификаторы доступа. Они относятся к кто может ... вопросы. Модификаторы afaik - это volatile, final, static, transient и т.д. Они имеют дело с как ... аспектом.

-3
ответ дан 27 November 2019 в 00:54
поделиться

Эта ссылка на JDI - единственное место, где я когда-либо видел термин "спецификатор доступа", используемый в спецификации Java. Даже там public/protected/private/package также называются "модификаторами". На самом деле нет никаких причин когда-либо использовать термин 'спецификатор доступа' в Java, очевидно, что это просто ошибка на одной странице из многих тысяч.

0
ответ дан 27 November 2019 в 00:54
поделиться
Другие вопросы по тегам:

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