Я бы пошел с подходом А, так как необходимо только инициализировать объект при необходимости.
Если инициализация этого объекта довольно сложна, чтобы избежать повторения, вы либо определяете вспомогательный метод static
для инициализации объекта, либо вы используете Supplier<>
:
Supplier<Type> objSupplier = () -> new Type(a, b, c, d, whatever)
и затем, в двух местах, где объект должен быть создан, вы делаете
A = objSupplier.get();
(обратите внимание, что переменные обычно пишутся в нижнем регистре / camelCase).