Невозможно создать объект, напрямую вызвав конструктор абстрактного класса
. Конструктор абстрактного класса
может быть вызван только из производного класса. Поэтому мне кажется , что конструкторы абстрактного класса должны быть либо защищенными
, либо закрытыми для пакета (последнее для необычных случаев ограничения использования конструктора производными классами внутри пакета. ). Тем не менее, Java позволяет конструктору абстрактного
класса быть общедоступным
.
Существуют ли какие-либо обстоятельства, при которых полезно объявлять конструктор 11110315] абстрактный класс должен быть общедоступным
, а не защищенным
или частным пакетом?
Это не совсем дубликат вопроса « Конструктор абстрактного класса модификатор доступа ": очевидно, что вы можете объявить конструктор общедоступным
; Я хочу знать, есть ли веская причина для этого. Мне кажется, что нет. Я вижу, что C # имеет похожую особенность .