当前位置: 代码迷 >> J2SE >> 请问多重继承变量访问
  详细解决方案

请问多重继承变量访问

热度:25   发布时间:2016-04-24 01:19:03.0
请教多重继承变量访问
Java code
class A {    protected int    i    = 1;}class B extends A {    protected int    i    = 2;}public class C extends B {    int    i    = 3;    public static void main(String[] args) {        new C().test();    }    void test() {        System.out.println(i);        System.out.println(super.i);                //请问如何访问 A 的 i ?    }}


------解决方案--------------------
没办法直接调用的,可以通过其他方式来获取。例如:
Class c = this.getClass().getSuperclass().getSuperclass();
Field f = c.getDeclaredField("i");
System.out.println(f.getInt(c.newInstance()));
  相关解决方案