getDeclaredMethod()当指定的方法没有参数时入参填什么
时间: 2023-12-02 19:06:29 浏览: 142
当使用getDeclaredMethod方法获取一个没有参数的方法时,入参需要传入方法名和一个空的Class数组,即:
```
Class<?> clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("methodName", new Class<?>[0]);
```
其中,"methodName"为要获取的方法名,new Class<?>[0]代表空的Class数组,表示该方法没有任何参数。
相关问题
getdeclaredmethod 方法的参数
### 回答1:
getDeclaredMethod 方法的参数是一个字符串,表示要获取的方法的名称,以及一个可变参数,表示方法的参数类型。例如,如果要获取一个名为 "testMethod" 的方法,该方法有两个参数,分别为 String 类型和 int 类型,那么可以使用以下代码:
Class clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("testMethod", String.class, int.class);
### 回答2:
getDeclaredMethod方法是Java中的一个反射方法,用于获取指定类中指定名称和参数类型的方法。参数包括两个方面。
第一个参数是方法的名称,类型为String。它表示我们要获取的方法的名称,可以是任意合法的方法名,包括构造方法和静态方法。
第二个参数是方法的参数类型,类型为Class<?>...。它表示我们要获取的方法的参数列表类型,可以有多个参数,每个参数的类型都需要传入。参数类型要按照参数列表的顺序传入,如果没有参数,可以不传入。
需要注意的是,如果方法有多个重载版本,我们只能获取到参数类型和方法名完全匹配的方法。如果方法没有被声明为公开(public),我们需要使用getDeclaredMethod方法来获取,而不是getMethod方法。
这个方法返回值是一个Method对象,通过这个对象我们可以对获取到的方法进行操作。我们可以调用这个方法的invoke方法来执行这个方法,也可以获取这个方法的属性和修饰符。
总之,getDeclaredMethod方法是通过方法名称和参数类型来获取指定类中的方法,给定正确的方法与参数,我们就可以使用这个方法来获取我们想要的方法,并进行相应的操作。
### 回答3:
getDeclaredMethod 方法的参数是一个字符串,用于指定要获取的方法的名称,可以是公共方法、私有方法、具有不同访问修饰符的方法,还可以是静态方法或实例方法。getDeclaredMethod 方法还可以带有第二个参数,用于指定方法的参数类型,以确定唯一的方法。如果不指定第二个参数,则可能会返回多个同名方法。
getDeclaredMethod 方法的参数可以使用完整的方法签名,也可以只使用方法名。方法签名是指方法的名称和参数类型的组合,可以用来区分方法的重载。如果方法签名中没有指定参数类型,则 getDeclaredMethod 方法会返回所有同名的方法。方法的参数类型可以是基本数据类型(如int、double等),也可以是其他的类或接口类型。
getDeclaredMethod 方法还可以获取泛型方法。泛型方法是指具有类型参数的方法,在方法签名中会使用泛型类型或通配符表示。在获取泛型方法时,需要在参数中使用类型擦除,将泛型类型转换为实际的类型。
getDeclaredMethod 方法的参数还可以使用通配符,以获取满足模式匹配的方法。通配符可以代表任意类型、任意数量的参数,或者指定特定的类型。
总之,getDeclaredMethod 方法的参数可以用于指定要获取的方法的名称和参数类型,以便于获取具有不同访问修饰符、静态或实例化、重载或泛型的方法。
getDeclaredMethod这个方法里面的参数有什么用
getDeclaredMethod方法的参数是要获取的方法的名称和参数类型,用于指定要获取的方法。它的作用是获取指定类中声明的方法,包括私有方法、受保护的方法、默认访问修饰符的方法和公共方法等,可以通过反射机制来调用这些方法。其中,方法名称用字符串表示,参数类型可以是一个Class对象或者是一个Class对象数组。如果要获取无参方法,则参数类型为空数组。
阅读全文