package package1;
public class ABC {
ABC(){
System.out.println("constructor");
}
}
위 같은 코드가 있을때 아래와 같이 접근 가능하단다..
Constructor<?> constructor = c.getDeclaredConstructor();
constructor.setAccessible(true);
Object o = constructor.newInstance(null);
내부클래스를 생성할 경우는.. 이렇게 접근하면 된단다.
Class<?> clazz = Class.forName("package1.Outer$Inner");
Private Method에 접근하는 방법도 있다.
아래와 같은 클래스가 있는데....
public class ABC {
private String string = null;
public ABC(String string) {
this.string = string;
}
private String getString(){
return this.string;
}
}
getString함수에 접근해서 실행하고자 한다면~~
아래를 참고하자~
ABC abc = new ABC("The Private Value");
Method abcMethod = ABC.class.getDeclaredMethod("getString", null);
abcMethod.setAccessible(true);
String value = (String)abcMethod.invoke(abc, null);
System.out.println("value = " + value);
댓글 없음:
댓글 쓰기