Objecto o 的这个返回是什么意思呢?

来源:5-1 Java 方法反射的基本操作

慕前端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");


写回答 关注

4回答

  • 突然
    2016-04-08 19:02:52
    已采纳

    这个方法如果没有返回值返回的是null 而null是一个固定的不确定类型的内存,即可以看做是什么类型也不是,也没有继承Object,当然没有toString()方法,所以这句代码不会默认调用str的toString()方法,所以会报错

    突然

    后来写了一下 是可以的啊 可能是deo名字重复

    2016-04-08 19:12:58

    共 1 条回复 >

  • 慕移动9181930
    2022-03-26 08:05:01
  • Listener
    2016-08-31 09:16:45

    实测把Object o去掉也是可以的

  • 慕前端0336099
    2016-04-08 19:22:20

    是名字重复了  我就是想知道  同一个类里面的两个方法可不可以用同一个变量名来存储 

    实验证明不行

    谢谢你了大神

反射——Java高级开发必须懂的

反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础

151466 学习 · 335 问题

查看课程

相似问题