日期:2014-05-20  浏览次数:20842 次

继承的疑惑
如class a(){
  public void f(){....}
  }
class b extends a{
  ........}
  class d extends b{
  ........
  }问题是通过d这个类去访问a中的方法f();

请各位大哥指教下

 

------解决方案--------------------
Java code
在d类中使用反射实例化一个a类的对象,调用它的方法
import java.lang.reflect.Constructor;

public class d {

 public static void main(String[] args)throws Exception {
  
   Class c = Class.forName("a");
   Object o=a.newInstance();//这是创建构造方法
   Method[] methods=c.getMethods();
   for(Method m:methods)
{
    if(m.getName().equals("f"))
{
    m.invoke(o);
}
}
 }

}

------解决方案--------------------
探讨
如class a(){
public void f(){....}
}
class b extends a{
........}
class d extends b{
........
}问题是通过d这个类去访问a中的方法f();

请各位大哥……