Нечего добавить, весь вопрос в заголовке.
Рассмотрим эти два экземпляра класса Foo, используемые в спецификации Spock.
@Shared Foo foo1 = new Foo()
static Foo foo2 = new Foo()
В целом, я знаю идею аннотации @Shared
, но я думаю, что лучше использовать языковые функции, которые в этом случае будут полем static
.
Существуют ли какие-либо конкретные случаи, в которых следует выбирать друг друга или это скорее вопрос вкуса?