Maison > Java > javaDidacticiel > le corps du texte

Comment les objets finaux sont-ils créés en Java ?

WBOY
Libérer: 2024-04-11 14:00:02
original
779 Les gens l'ont consulté

Il existe deux manières de créer des objets finaux en Java : déclarer une variable finale ou déclarer une classe avec le modificateur final. Lorsque vous déclarez une variable finale, l'objet est créé via un initialiseur ; lorsque vous déclarez une classe finale, l'instance de classe est immuable. Il est important de noter que les références aux objets finaux peuvent toujours changer, mais les objets vers lesquels elles pointent sont immuables.

Comment les objets finaux sont-ils créés en Java ?

Comment créer des objets finaux en Java

En Java, le mot-clé final est utilisé pour déclarer des objets immuables. Cela signifie qu’une fois qu’un objet final est créé, il est impossible de changer son état. Ceci est utile pour créer des classes thread-safe et empêcher toute modification accidentelle de données sensibles.

Il existe deux manières principales de créer un objet final :

1 Déclarer une variable finale

La manière la plus simple est de déclarer une variable finale et de l'initialiser à un objet :

public class FinalObjectExample {

    private final String name;

    public FinalObjectExample(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

}
Copier après la connexion

2. classes de modificateur final

Une autre approche consiste à déclarer la classe entière en utilisant le modificateur final. Cela signifie que les instances de la classe sont immuables :

public final class ImmutableClass {

    private final String value;

    public ImmutableClass(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

}
Copier après la connexion

La chose importante à retenir est qu'une référence à un objet final peut toujours être elle-même mutable. Cela signifie que vous pouvez attribuer une référence à un objet final à une variable différente :

FinalObjectExample obj1 = new FinalObjectExample("John");
FinalObjectExample obj2 = obj1;

obj2.getName(); // 返回 "John"
Copier après la connexion

Cependant, vous ne pouvez toujours pas modifier l'objet vers lequel pointe la référence obj1 ou obj2.

Cas pratique

Considérons une classe utilisée pour stocker des données sensibles :

public class SensitiveData {

    private final int id;
    private final String value;

    public SensitiveData(int id, String value) {
        this.id = id;
        this.value = value;
    }

    public int getId() {
        return id;
    }

    public String getValue() {
        return value;
    }

}
Copier après la connexion

En déclarant la classe finale, nous pouvons garantir que les données restent inchangées après la création, améliorant ainsi la sécurité.

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:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!