关于一个newinstance的问题!~

kingvia 2006-05-22 03:55:02
代码:
Object o = c.newInstance(paramValues);
Method[] ms = c.getDeclaredMethods();
ms[0].invoke(o,null);


这是教学上正确的代码,我想不通的是,O是一个object基类,他怎么能去掉用子类的方法呢?
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingvia 2006-05-22
  • 打赏
  • 举报
回复
但我做了个实验:
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()就无论什么方法都可以调用了?
Marcus-Z 2006-05-22
  • 打赏
  • 举报
回复
YES
treeroot 2006-05-22
  • 打赏
  • 举报
回复
多态

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧