回覆列表
  • 1 # fueak42847

      JAVA中,子類可以繼承父類的私有屬性和方法,但一般不能直接訪問,但透過反射還是可以訪問的:  import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;public class A extends B{public void set(int x) throws Exception{Field i=((Class extends A>) this.getClass().getGenericSuperclass()).getDeclaredField("i"); i.setAccessible(true);i.set(this, x); }public Object get() throws Exception{Field i=((Class extends A>) this.getClass().getGenericSuperclass()).getDeclaredField("i"); i.setAccessible(true);return i.get(this);}public static void main(String[] args) throws Exception{A a=new A();System.out.println(a.get());a.set(777);System.out.println(a.get());}}public class B {private int i=100;}    

  • 中秋節和大豐收的關聯?
  • NBA2k內線怎麼玩?