Java で Final オブジェクトを作成するには、final 変数を宣言する方法と、final 修飾子を使用してクラスを宣言する方法の 2 つがあります。 Final 変数を宣言すると、オブジェクトはイニシャライザを介して作成されます。final クラスを宣言すると、クラス インスタンスは不変になります。重要なのは、最終オブジェクトへの参照は変更される可能性がありますが、最終オブジェクトが指すオブジェクトは不変であるということです。
Java で Final オブジェクトを作成する方法
Java では、final キーワードを使用して不変オブジェクトを宣言します。これは、最終オブジェクトが作成されると、その状態を変更することができないことを意味します。これは、スレッドセーフなクラスを作成し、機密データが誤って変更されるのを防ぐのに役立ちます。
最終オブジェクトを作成するには、主に 2 つの方法があります:
1. 最終変数を宣言します
最も簡単な方法は、最終変数を宣言することです。オブジェクトとして初期化:
public class FinalObjectExample { private final String name; public FinalObjectExample(String name) { this.name = name; } public String getName() { return name; } }
2.final 修飾子を使用してクラスを宣言
もう 1 つの方法は、final 修飾子を使用してクラス全体を宣言することです。これは、クラスのインスタンスが不変であることを意味します。
public final class ImmutableClass { private final String value; public ImmutableClass(String value) { this.value = value; } public String getValue() { return value; } }
覚えておくべき重要なことは、最終オブジェクトへの参照自体は依然として変更可能である可能性があるということです。これは、最終オブジェクトへの参照を別の変数に割り当てることができることを意味します:
FinalObjectExample obj1 = new FinalObjectExample("John"); FinalObjectExample obj2 = obj1; obj2.getName(); // 返回 "John"
ただし、obj1 または obj2 参照が指すオブジェクトを変更することはできません。
実際的なケース
機密データの保存に使用されるクラスを考えてみましょう:
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; } }
クラスをfinalと宣言することで、データが確実に作成されるようにすることができます。変更されないため、セキュリティが向上します。
以上がJava では最終オブジェクトはどのように作成されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。