반사 로 구성원 변 수 를 가 져 오고 사용 합 니 다.

1111 단어 반사
반사 로 구성원 변 수 를 가 져 오고 사용 합 니 다.
  • Field
  • Class.getField(String)방법 은 클래스 의 지정 한 필드(보 이 는 것)를 가 져 올 수 있 습 니 다.개인 적 인 것 이 라면 getDeclaed Field("name")방법 으로 가 져 올 수 있 고 set(obj,"이사")방법 으로 지정 한 대상 의 이 필드 의 값 을 설정 할 수 있 습 니 다.개인 적 으로 setAccessible(true)을 호출 하여 접근 권한 을 설정 해 야 한다 면 지정 한 필드 로 get(obj)을 호출 하면 지정 한 대상 의 이 필드 의 값 을 가 져 올 수 있 습 니 다

  • package com.heima.reflect;
    
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    
    import com.heima.bean.Person;
    
    public class Demo04_Field {
    
    	public static void main(String[] args) throws Exception {
    		Class clazz = Class.forName("com.heima.bean.Person");
    		Constructor c = clazz.getConstructor(String.class,int.class);	//      
    		Person p = (Person) c.newInstance("  ",23);					//          
    		
    		//Field f = clazz.getField("name");								//      
    		//f.set(p, "  ");												//      
    		Field f = clazz.getDeclaredField("name");						//        
    		f.setAccessible(true);											//      
    		f.set(p, "  ");	
    		
    		System.out.println(p);
    	}
    }
    

    좋은 웹페이지 즐겨찾기