Перейти к контенту

Конструктор может быть окончательным в Java или нет?

Нет, конструктор не может быть окончательным в Java.

Последний метод не может быть переопределен никакими подклассами. Последний модификатор предотвращает изменение метода в подклассе. Основное намерение сделать метод окончательным состоит в том, что содержание метода не должно быть изменено каким-либо посторонним лицом. Но в наследовании подкласс наследует члены суперкласса, кроме конструкторов.

 

Другими словами, конструкторы не могут наследоваться в Java, поэтому нет необходимости писать final перед конструкторами. Следовательно, Джава не позволяет использовать ключевое слово final перед конструктором. При попытке компиляции генерируется ошибка, как в следующем примере.

Пример

public class Sample {
   public static void main(String args[]){
      int num;
      final public Sample(){
         num = 30;
      }
   }
}

Итог

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
   Syntax error, insert "enum Identifier" to complete EnumHeaderName
   Syntax error, insert "EnumBody" to complete BlockStatement
   Syntax error, insert ";" to complete Statement
   at newJavaExamples.Sample.main(Sample.java:6)

Оцени статью

Средняя оценка / 5. Количество голосов:

 

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)