AccessibleObjectMain.java
package serialization;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class AccessibleObjectMain {
public static void main(String[] args) throws Exception {
ClassWithPrivateField object=new ClassWithPrivateField();
Field[] ownFields=ClassWithPrivateField.class.getDeclaredFields();
for(Field f: ownFields) {
f.setAccessible(true);
String name=f.getName();
Object val=f.get(object);
int modifier=f.getModifiers();
if ( (modifier & Modifier.STATIC)==Modifier.STATIC) {
System.out.print("static: ");
}
System.out.println(name+" => "+val);
}
System.out.println("\n");
}
}
class ClassWithPrivateField {
public String publicString="public";
public static String staticString="static String";
protected String protectedString="protected";
private String privateString="private";
}