2011-02-02 6 views
7

Eclipse에서 완벽하게 해결할 수있는 특정 문제가 있지만 프로그래밍 방식의 솔루션이 필요합니다. 내가 원하는 것은 내가 제공하는 모든 클래스의 "유형 계층 구조"를 얻는 것입니다. Eclipse는 Ctrl + 을 누르는 것에 대한 해결책을 보여 주지만이를 어떻게 구현합니까? 사용할 API가 있습니까?Java에서 클래스 계층 구조 가져 오기?

답변

2

Java에는 사용자가 보유한 클래스의 기본 클래스와 특정 클래스가 구현하는 인터페이스를 결정하는 데 사용할 수있는 Reflection API가 있습니다. 클래스에서 상속 한 클래스를 결정하는 것은 좀 더 어려워 질 것입니다. 리플렉션 API를 사용하면 클래스의 멤버가 무엇인지 판단하고 해당 클래스의 메소드 등을 호출하는 것 외에도 많은 작업을 수행 할 수 있습니다.

public void DisplaySuperClass(Class c) 
{ 
    System.out.println(c.getSuperclass().getName()); 
}
+0

감사합니다 ... 정말 도움이 되었어요 ... :) – Sonam

+0

@ user599584 : 답변을 좋아하고 질문에 답변 한 경우 답변 옆에있는 체크 표시를 클릭하여 '동의'해야합니다. – Avi

7

런타임시 유형에 대한 정보를 얻기 위해 Java의 reflection API을 사용할 수 있습니다.

예를 들어, Class.getSuperclass()을 사용하여 유형 트리를 위로 이동하고 클래스의 부모를 찾을 수 있습니다.

1

하지만 클래스의 모든 하위 클래스를 쉽게 찾을 수있는 방법은 없습니다. 이 경우 클래스 패스 (많은 수천이 될 수 있음)에 모든 클래스를로드하고 사용자 정의 ClassLoader을 통해이 트리를 직접 빌드해야합니다 (사용자가 원하는 고통에 저항력이있는 경우에만)

+0

감사합니다 ... 정말 도움이되었습니다 ... :) – Sonam

관련 문제