Задержка создания экземпляра
public class Foo{
private NotSoExpensiveObject o;
public NotSoExpensiveObject getNSEObject(){
if(o == null){
o = new NotSoExpensiveObject();
}
return o;
}
}
Объявление финала
public class Foo{
private final NotSoExpensiveObject o;
public Foo(){
o = new NotSoExpensiveObject();
}
}
Имеет ли объявление NotSoExpensiveObject
финал какое-либо преимущество перед задержкой его создания?Или это чисто ситуационный?Кроме того, есть ли способ отложить создание экземпляра и сохранить модификатор final
?
Спасибо