2011-09-17 2 views
0

클래스 및 해당 유형의 모든 (공개 또는 비공개) 매개 변수를 인쇄하는 자바 프로그램을 작성하려고합니다. 내가 반사을 사용해야한다고 생각하지만, 나는 자바 반사에서 멍청한 놈이야.클래스의 모든 매개 변수와 해당 유형을 찾는 방법은 무엇입니까?

는 예를 들어, I 클래스 아래에 실행 한 다음 결과에 내 프로그램이 필요 출력 :

class a{ 
    public int b; 
    public int c; 
    private String s;  
} 

출력 :

b: int 
c: int 
s: St 

마지막으로 내 질문의 목록을 얻는 방법이다 클래스의 매개 변수와 그 유형.

답변

6

난 당신이 Class 클래스부터 시작하여 자바 독을 탐구 추천 할 것입니다 : 클래스 Class

인스턴스는 실행중인 Java 응용 프로그램의 클래스 및 인터페이스를 나타냅니다. 참고로

클래스가 선언 필드를 나타내는 Field 객체의 배열을 반환하는 방법 getDeclaredFields()이다.

Class<MyClass> c = MyClass.class; //statically 

MyClass mc = new MyClass(); 
Class<? extends MyClass> c2 = mc.getClass(); //dynamically 
3
try { 
    Class c = Class.forName("a"); 

    Field[] fs = c.getDeclaredFields(); 

    for(Field f : fs){ 
     System.out.println(f.getName()+": "+f.getType().getSimpleName()); 
    } 

} catch (ClassNotFoundException e) {} 
:

또한 Class 개체를 얻을 수있는 방법을주의 깊게 살펴

관련 문제