사용자 도구

사이트 도구


java:reflection

Java Reflection

Accessing Private Field

PrivateObject privateObject = new PrivateObject("The Private Value");
 
Field privateStringField = PrivateObject.class.
            getDeclaredField("privateString");
 
privateStringField.setAccessible(true);
 
String fieldValue = (String) privateStringField.get(privateObject);
System.out.println("fieldValue = " + fieldValue);

Accessing private method

PrivateObject privateObject = new PrivateObject("The Private Value");
 
Method privateStringMethod = PrivateObject.class.
        getDeclaredMethod("getPrivateString", null);
 
privateStringMethod.setAccessible(true);
 
String returnValue = (String)
        privateStringMethod.invoke(privateObject, null);
 
System.out.println("returnValue = " + returnValue);

Class.isAssignableFrom()

A.class.isAssignableFrom(B.class)A a = new B()가 가능한지를 묻는 것이라고 보면된다.

assertThat(Serializable.class.isAssignableFrom(String.class)).isTrue();
assertThat(String.class.isAssignableFrom(Serializable.class)).isFalse();
java/reflection.txt · 마지막으로 수정됨: 2015/11/24 08:46 저자 kwon37xi