Java에서 인터페이스의 클래스 구현을 프로그래밍 방식으로 검색
Java 리플렉션은 클래스와 인터페이스를 검사하기 위한 유연한 메커니즘을 제공합니다. 이러한 맥락에서 개발자는 리플렉션을 활용하여 특정 인터페이스를 구현하는 모든 클래스 목록을 검색할 수 있습니다.
리플렉션 기반 접근 방식
리플렉션 라이브러리를 사용하면 개발자는 인터페이스의 하위 클래스를 다음과 같이 쉽게 검색할 수 있습니다. 다음은 다음과 같습니다.
Reflections reflections = new Reflections("firstdeveloper.examples.reflections"); Set<Class<? extends Pet>> classes = reflections.getSubTypesOf(Pet.class);
ServiceLoader 접근 방식
JavaServiceLoader는 인터페이스 구현을 검색하기 위한 대체 접근 방식을 제공합니다. 이 기술을 사용하려면 인터페이스를 SPI(서비스 공급자 인터페이스)로 정의하고 해당 구현을 선언해야 합니다.
ServiceLoader<Pet> loader = ServiceLoader.load(Pet.class); for (Pet implClass : loader) { System.out.println(implClass.getClass().getSimpleName()); // prints Dog, Cat }
패키지 수준 주석 접근 방식
패키지 사용 -level 주석, package-info.java 내에서 인터페이스 구현을 선언할 수 있습니다. file:
@MyPackageAnnotation(implementationsOfPet = {Dog.class, Cat.class}) package examples.reflections;그런 다음 리플렉션을 사용하여 이러한 구현을 검색할 수 있습니다.
위 내용은 Java에서 주어진 인터페이스를 구현하는 모든 클래스를 프로그래밍 방식으로 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!