慕前端0336099
2016-04-08 15:26
Method coco= d.getMethod("print", new Class[]{int.class,int.class});
a1.print(10, 20);
//Object go= coco.invoke(a1, new Object[]{2,3});
Object deo= coco.invoke(a1, 10,10);
Method lwk= d.getMethod("print", String.class,String.class);
deo= lwk.invoke(a1, "wode","nadi");//这一行就不报错呢?
String deo= (String) lwk.invoke(a1, "aaaa","vvvv"); //为什么这一行输出会报错呢?上面的就不报错了
String deo1 =(String) lwk.invoke(a1, "ddd","cccc");
a1.print("nigag", "gagog");
这个方法如果没有返回值返回的是null 而null是一个固定的不确定类型的内存,即可以看做是什么类型也不是,也没有继承Object,当然没有toString()方法,所以这句代码不会默认调用str的toString()方法,所以会报错
实测把Object o去掉也是可以的
是名字重复了 我就是想知道 同一个类里面的两个方法可不可以用同一个变量名来存储
实验证明不行
谢谢你了大神
反射——Java高级开发必须懂的
151466 学习 · 335 问题
相似问题
回答 3
回答 3