Maison >Java >javaDidacticiel >Placement de l'initialiseur Java : constructeurs internes ou externes ?

Placement de l'initialiseur Java : constructeurs internes ou externes ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-02 22:49:11466parcourir

Java Initializer Placement: Inside or Outside Constructors?

Placement de l'initialiseur en Java : constructeurs internes ou externes

Lors de la transition de C à Java, les développeurs Java sont souvent confrontés à une décision concernant l'initialisation des variables : doit-il être à l'intérieur ou à l'extérieur des constructeurs ?

À l'intérieur Constructeurs :

public class ME {
    private int i;

    public ME() {
        this.i = 100;
    }
}

Cette approche initialise explicitement la variable dans le constructeur. Il permet des valeurs d'initialisation qui varient selon les constructeurs.

Constructeurs extérieurs :

public class ME {
    private int i = 100;

    public ME() {
    }
}

Ici, la variable est initialisée directement dans sa déclaration. Cela fournit une initialisation par défaut qui s'applique à tous les constructeurs.

Recommandation :

Le style préféré consiste à initialiser les variables en dehors des constructeurs. Cela offre plusieurs avantages :

  1. Clarté : Cela rend la valeur d'initialisation immédiatement apparente lors de la déclaration de la variable, éliminant ainsi le besoin de la rechercher dans le constructeur.
  2. Cohérence : Si la valeur d'initialisation est la même dans tous les constructeurs, elle peut être spécifiée une fois dans la déclaration, réduisant ainsi répétition.

Bien sûr, si différents constructeurs nécessitent des valeurs d'initialisation ou des calculs différents, alors l'initialisation doit avoir lieu au sein du constructeur. Cependant, l'approche du constructeur externe est généralement considérée comme plus efficace et plus élégante pour des valeurs par défaut cohérentes.

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