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

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

PHPz
Freigeben: 2023-08-20 19:01:22
nach vorne
1492 Leute haben es durchsucht

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();
   }
}
Nach dem Login kopieren

Kompilierungszeitfehler

Beim Kompilieren generiert das obige Programm den folgenden Fehler.

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

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage