Maison > Java > javaDidacticiel > le corps du texte

Pourquoi les constructeurs ne peuvent-ils pas être définitifs en Java ?

PHPz
Libérer: 2023-08-20 19:01:22
avant
1458 Les gens l'ont consulté

Pourquoi les constructeurs ne peuvent-ils pas être définitifs en Java ?

Chaque fois que vous déclarez une méthode comme finale, vous ne pouvez pas la remplacer. Autrement dit, vous ne pouvez pas fournir à une sous-classe une implémentation de la méthode finale d'une superclasse.

En d'autres termes, le but de déclarer une méthode comme finale est d'éviter que la méthode soit modifiée de l'extérieur (sous-classes).

En héritage, lorsque vous étendez une classe, la sous-classe hérite de tous les membres de la superclasse sauf le constructeur.

En d'autres termes, les constructeurs ne peuvent pas être hérités en Java, vous ne pouvez donc pas remplacer le constructeur.

Par conséquent, cela ne sert à rien d'ajouter final devant le constructeur. Par conséquent, Java ne permet pas l’utilisation du mot-clé final avant un constructeur.

Si vous essayez de déclarer le constructeur comme final, une erreur de compilation sera générée, indiquant "modificateur final non autorisé ici".

Exemple

Dans le programme Java suivant, la classe Student a un constructeur qui est déclaré final.

Démo

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();
   }
}
Copier après la connexion

Erreur de temps de compilation

Lors de la compilation, le programme ci-dessus génère l'erreur suivante.

Student.java:6: error: modifier final not allowed here
   public final Student(){
                ^
1 error
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal