package mirror; import java.lang.reflect.Field; @SuppressWarnings("unchecked") public class RefStaticObject<T> { private Field field; public RefStaticObject(Class<?> cls, Field field) throws NoSuchFieldException { this.field = cls.getDeclaredField(field.getName()); this.field.setAccessible(true); } public Class<?> type() { return field.getType(); } public T get() { T obj = null; try { obj = (T) this.field.get(null); } catch (Exception e) { //Ignore } return obj; } public void set(T obj) { try { this.field.set(null, obj); } catch (Exception e) { //Ignore } } }