[JAVA] Signification de final

classe

Si la déclaration de classe a final, la classe ne peut pas être étendue. (Impossible de créer une sous-classe)

Méthode

Si final est attaché à la déclaration de la méthode d'instance, il ne peut pas être remplacé dans la sous-classe.

Champ d'instance

Vous ne pouvez affecter qu'une seule fois à un champ final. Il existe deux façons d'attribuer à un champ d'instance finale.

Ecrire la valeur initiale lors de la déclaration d'un champ

class Qiita {
    final int value = 123;
}

Assigner dans le constructeur

class Qiita {
    final int value;

    public Qiita() {
        this.value = 123;
    }
}

Champ de classe

Il existe deux façons d'affecter à un champ de classe final.

Ecrire la valeur initiale lors de la déclaration d'un champ

class Qiita {
    static final int value = 123;
}

Affecter à un champ dans un bloc statique

class Qiita {
    static final int value;

    static {
        value = 123;
    }
}

variable

Ne peut être attribué qu'une seule fois.

argument

Ne peut pas être attribué une seule fois. (Parce que la valeur a déjà été attribuée lors de l'appel de la méthode)

Recommended Posts

Signification de final
[Signification du modèle: de form_with]
Signification de la rédaction d'une déclaration d'importation
12 du tableau
modificateur final
[Java] Utilisation de final dans la déclaration de variable locale
Moment d'initialisation de la variable membre avec la valeur finale