private volatile FieldType field;
FieldType getField() {
FieldType result = field;
if (result == null) {
synchronized(this) {
result = field;
if (result == null)
field = result = computeFieldValue();
}
}
return result;
}
ほとんどの人がこれについて知っているように、double check idiom for lazy initialization of instance field
. しかし、誰かが FieldType のシングルトン オブジェクトをどのように作成するのか、私はばかげた疑問を抱いています。関数(シングルトンインスタンスを作成する)を呼び出すにgetField()
は、クラスのインスタンスが必要ですが、今まではインスタンスがありませんでした。ちょっと困っています、教えてください。ありがとう!!!