멤버 변수 취득

1, Class 객체는 멤버 변수를 얻을 수 있습니다 :

Class 클래스의 일반적인 방법 :

 

Person 클래스 만들기 :

패키지 pers.reflect.person; 

공용  클래스 사람 {
 개인 문자열 이름;
개인  INT의 시대;
공공 문자열 취미;
공공 문자열 높이;
보호 된 문자열 섹스; 
문자열 주소; 

공공 사람 () { 
    
} 
공공 사람 (문자열 이름, INT의 나이) {
      .name을 = 이름;
     .age = 나이; 
} 


@Override 
공공 문자열 toString () {
     반환  " 인 [이름 = " + 이름 + " , 연령 =" + 나이 + " , 취미 = " + 취미
             + " , 높이 = " + 높이 + " , 성별 = " + 성 + " , 주소 = " + 주소
             + " ] " ; 
} 
공공 문자열 getName () {
     반환 이름; 
} 
공공  무효 에서는 setName (문자열 이름) {
      .name을 = 이름; 
} 
공공  INT getAge () {
     반환 시대; 
}
공공  무효 setAge ( INT의 연령) {
      .age = 나이; 
} 

}
수입 java.lang.reflect.Field의; 

수입 pers.reflect.person.Person; 

공공  클래스 ReflectDemo { 

    공공  정적  무효 메인 (문자열 []에 인수), SecurityException가 슬로우 
            NoSuchFieldException, IllegalArgumentException가, 
            시 IllegalAccessException { 

        클래스 C = 사람을. 클래스 ; 
        체계. 밖으로 .println ( " getFields (),获取公共的成员变量: " ); 
        필드 [] 필드 = c.getFields ();
        에 대한 {: (필드 필드 필드) 
            시스템. 밖으로  .println (필드);
        }

        . 시스템 OUT .println는 ( " getField ()는 지정된 공개 멤버 변수를 구하는 방법 " ) 

        필드 hobbyField = c.getField ( " 취미 " ) 
        시스템. OUT .println (hobbyField)를, 

        시스템. OUT .println ( " getDeclaredFields ()는 수식 관계없이 멤버 변수 모두를 얻는다. " ) 

        필드를 [] fields1 = c.getDeclaredFields ()
         (필드, 필드 : fields1) { 
            . 시스템 OUT ; .println (필드) 
        } 

        . 시스템 OUT .println ("지정된 전용 멤버 변수하세요 " ) 

        필드, nameField = c.getDeclaredField ( " 연령 " ) 

        시스템. OUT .println합니다 (nameField를); 

    } 
}

 2, 필드 클래스 일반적인 방법 :

(1) 상기 리턴 변수의 타입 :

(2) 속성의 이름을 반환합니다 :

 

추천

출처www.cnblogs.com/zhai1997/p/11390314.html