代码:
Object o = c.newInstance(paramValues);
Method[] ms = c.getDeclaredMethods();
ms[0].invoke(o,null);
这是教学上正确的代码,我想不通的是,O是一个object基类,他怎么能去掉用子类的方法呢?
Object o = c.newInstance(paramValues);
Method[] ms = c.getDeclaredMethods();
ms[0].invoke(o,null);
这是教学上正确的代码,我想不通的是,O是一个object基类,他怎么能去掉用子类的方法呢?
class A
{
public void msgA()
{
System.out.println("我是A类")
}
}class B extends A
{
public void msgB()
{
System.out.println("我是B类")
}
}class Test
{
public static void main(String args)
{
A test = new B();
test.msgB();
}}
系统编译出错,说不能调用子类B的msgB方法,那用invoke()就无论什么方法都可以调用了?