В Java действительно ли спецификаторы доступа и модификаторы доступа являются тем же самым?
"модификатор доступа" - это официальный термин для private
, protected
и public
, используемый в спецификации языка Java. "Спецификатор доступа" используется как синоним в Java API doc, но это первый раз, когда я это заметил. Вероятно, лучше придерживаться термина JLS.
Ссылаясь на документы Sun Java, они оба, похоже, быть таким же:
Рассмотрим набор инструментов gui.
Элемент управления правкой - это окно, оно должно наследовать функции закрытия/включения/заливки окна - оно не содержит окна.
Тогда элемент управления форматированным текстом должен содержать функции сохранения/чтения/вырезания/вставки элементов управления правкой, будет очень трудно использовать, если он будет содержать только окно и элемент управления правкой.
-121--1537517-GetType(IMyInterface).GetCustomAttributes(GetType(MyCustomAttribute), false).Length > 0
(Надеюсь, что синтаксис VB правильный.) В основном, получите тип, представляющий IMyInterface, затем вызовите GetCustomAttributes для него, передавая тип атрибута, который вас интересует. Если возвращается непустой массив, атрибут присутствует.
-121--4780073-По мне, да, оба термина относятся к одному и тому же и используются взаимозаменяемо.
Технически говоря, private, public, protected и default рассматриваются как спецификаторы доступа. Они относятся к кто может ... вопросы. Модификаторы afaik - это volatile, final, static, transient и т.д. Они имеют дело с как ... аспектом.
Эта ссылка на JDI - единственное место, где я когда-либо видел термин "спецификатор доступа", используемый в спецификации Java. Даже там public/protected/private/package также называются "модификаторами". На самом деле нет никаких причин когда-либо использовать термин 'спецификатор доступа' в Java, очевидно, что это просто ошибка на одной странице из многих тысяч.