Heim  >  Artikel  >  Java  >  Warum können Konstruktoren in Java nicht endgültig sein?

Warum können Konstruktoren in Java nicht endgültig sein?

PHPz
PHPznach vorne
2023-08-20 19:01:221451Durchsuche

Warum können Konstruktoren in Java nicht endgültig sein?

Wann immer Sie eine Methode als endgültig deklarieren, können Sie sie nicht überschreiben. Das heißt, Sie können einer Unterklasse keine Implementierung der endgültigen Methode einer Oberklasse bereitstellen.

Mit anderen Worten: Der Zweck der Deklaration einer Methode als endgültig besteht darin, zu verhindern, dass die Methode von außen (Unterklassen) geändert wird.

Wenn Sie bei der Vererbung eine Klasse erweitern, erbt die Unterklasse alle Mitglieder der Oberklasse mit Ausnahme des Konstruktors.

Mit anderen Worten: Konstruktoren können in Java nicht vererbt werden, daher können Sie den Konstruktor nicht überschreiben.

Daher macht es keinen Sinn, final vor dem Konstruktor hinzuzufügen. Daher erlaubt Java nicht die Verwendung des Schlüsselworts final vor einem Konstruktor.

Wenn Sie versuchen, den Konstruktor als final zu deklarieren, wird beim Kompilieren ein Fehler mit der Meldung „Modifikator final hier nicht zulässig“ generiert.

Beispiel

Im folgenden Java-Programm verfügt die Student-Klasse über einen Konstruktor, der als endgültig deklariert ist.

Demo

public class Student {
   public final String name;
   public final int age;
   public final Student() {
      this.name = "Raju";
      this.age = 20;
   }
   public void display() {
      System.out.println("Name of the Student: "+this.name );
      System.out.println("Age of the Student: "+this.age );
   }
   public static void main(String args[]) {
      new Student().display();
   }
}

Kompilierungszeitfehler

Beim Kompilieren generiert das obige Programm den folgenden Fehler.

Student.java:6: error: modifier final not allowed here
   public final Student(){
                ^
1 error

Das obige ist der detaillierte Inhalt vonWarum können Konstruktoren in Java nicht endgültig sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen