Maison  >  Article  >  Java  >  Pourquoi et quand devriez-vous appeler « super() » dans un constructeur Java ?

Pourquoi et quand devriez-vous appeler « super() » dans un constructeur Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 01:54:03360parcourir

Why and When Should You Call `super()` in a Java Constructor?

L'importance de l'appel de super() dans un constructeur

En Java, lors de l'extension d'une classe parent, il n'est pas rare de rencontrer un appel à super() dans le constructeur de la classe enfant. Bien qu'il soit possible d'accéder aux méthodes de la classe parent sans appeler explicitement super(), comprendre son objectif est crucial.

Objectif de super()

Le super() La méthode sert deux objectifs principaux :

  1. Invoquer le constructeur de classe parent : Si le constructeur de classe parent prend des paramètres, appeler super() avec des arguments vous permet de spécifier ces paramètres. Ceci est nécessaire si la classe parent ne fournit pas de constructeur par défaut sans paramètre.
  2. Fournir des arguments : Même si la classe parent a un constructeur par défaut, appeler super() avec des arguments donne vous contrôlez plus finement l'initialisation de la classe parent. Vous pouvez modifier les valeurs transmises au constructeur de la classe parent.

Appel implicite à super()

Java appelle implicitement le constructeur par défaut du parent. classe (c'est-à-dire super()) pour chaque classe définie par l'utilisateur qui hérite d'une classe parent. Ainsi, appeler explicitement super() n'est généralement pas requis.

**Exemple : personnalisation de JFrame

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!

Déclaration:
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