На самом деле это вопрос из трех частей.
Когда я посмотрел документацию по static ServiceLoader.load()
методу класса ServiceLoader
, он содержал
public static <S> ServiceLoader<S> load(Class<S> service)
1 Мне нужно знать, как вызвать этот метод, что это за параметр Class<S> service
?
Предполагается, SomeClass
является интерфейсом или абстрактным классом,
Я видел в примерах, что он использовал ServiceLoader.load(SomeClass.class)
2 Что здесь делает ключевое слово class
, мы не можем просто поддержать SomeClass
как параметр?
вот так,
ServiceLoader.load(SomeClass)
В документации, в которой содержался этот метод, возвращается новый загрузчик службы, я запутался с этим.
3 Возвращает ли этот метод массив всех реализаций интерфейса?