String.class和"Tom" 二者之间的内在联系是什么?

来源:3-8 Method类的概述和使用

电磁护盾

2019-11-01 23:30:22

http://img.mukewang.com/climg/5dbc4b89093f423805580236.jpg

前面加上了String.class ,是不是利用了方法的重载,导致后面方法执行的时候需要加上参数"Tom"?

http://img.mukewang.com/climg/5dbc4e18096a068309550208.jpg

http://img.mukewang.com/climg/5dbc4e270931936b06840353.jpg

这两个带“ ... ”的可变参数的方法 是不是无形之中产生了无数个重载方法?

写回答

1回答

好帮手慕柯南

2019-11-02

同学你好!

  1. 首先要明白getDeclaredMethod方法的两个参数的的含义:

    http://img.mukewang.com/climg/5dbd189d097fe95610090262.jpg

    String.class是指这个sayHello这个方法的参数是一个String类型的

    method.invoke(),是执行之前获取的这个方法,第一个参数是指这个方法属于哪一个对象,第二个参数是要执行的方法要传入的参数是什么,这里的Tom就是传入的参数

  2. 严格意思上不能说是String.class决定了要传“Tom”,而是这个方法本身的样子决定的

  3. 同学这里可以把可变参数,理解为重载

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 8016 问题

查看课程