Если у вас есть несколько предметов, то это не одиночка.
Я бы использовал enum
в обоих случаях.
Для случая, когда это всего один.
enum FooClient {
INSTANCE;
private final Foo foo = new Foo("<api-key>");
}
для случая, когда существует более одного.
enum FooClient {
INSTANCE1("<api-key>"), INSTANCE2("<api-key2>");
private final Foo foo;
FooClient(String apiKey) {
foo = new Foo(apiKey);
}
}