getReturnType()
时间: 2023-06-22 18:35:21 浏览: 39
getReturnType() 是一个 Java 中的方法,它用于获取方法的返回类型。它属于 Java 反射 API 中的一部分,可以通过 Method 类的对象调用。例如:
```
Method method = MyClass.class.getMethod("myMethod", String.class);
Class<?> returnType = method.getReturnType();
```
在上面的例子中,我们获取了 MyClass 类中名为 myMethod 的方法的返回类型,并将其存储在 returnType 变量中。注意,由于 Java 中的泛型擦除机制,我们只能获得一个 Class 对象,而无法获得具体的泛型类型。
相关问题
String m = "m1"; String l = "http"; Mdd mdd = new Mdd(); Class<? extends Mdd> aClass = mdd.getClass(); // Method[] methods = aClass.getMethods(); // for (Method method : methods) { // System.out.println(method.getName()); // System.out.println(method.getReturnType()); // System.out.println(Arrays.toString(method.getParameterTypes())); // } Method method = aClass.getMethod(m,String.class); Class<?> returnType = method.getReturnType(); String simpleName = returnType.getSimpleName(); Object invoke = method.invoke(mdd, l); System.out.println(invoke.getClass()); System.out.println(returnType.cast(invoke).getClass());这段代码的作业
这段代码的作用是通过 Java 反射机制,动态调用 Mdd 类中的指定方法,并获取该方法的返回值类型和返回值。
首先,代码中定义了一个字符串变量 m 和 l,分别表示方法名和方法的参数。接着,创建了一个 Mdd 的实例 mdd,并获取该实例的 Class 对象 aClass。
接下来,通过 aClass 对象的 getMethod 方法获取指定名称和参数类型的方法对象 method。在这里,方法名为 m1,参数类型为 String 类型。
然后,通过 method 对象的 getReturnType 方法获取该方法的返回值类型,并通过 getSimpleName 方法获取返回值类型的类名。
接着,使用 method 对象的 invoke 方法调用 Mdd 实例 mdd 的 m1 方法,并将参数 l 传入。该方法的返回值为 Object 类型,需要通过 cast 方法将其转换为返回值类型。
最后,输出 invoke 对象的类名和 cast 方法转换后对象的类名。
总的来说,该段代码的作用是通过 Java 反射机制,动态调用 Mdd 类中的指定方法,并获取该方法的返回值类型和返回值。
请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,打印Apple类的所有public 域、方法和构造器。已分别提供了方法声明printConstructors、printFields、printMethods,请将代码补充完整,且按照打印格式要求输出。 提示: Method.getReturnType()可以获得方法的返回类型。 打印方法或域的修饰符可以调用提供的printModifiers()方法 打印方法的参数可以调用提供的printParamTypes()方法 Field
[] fields = Apple.class.getFields();
System.out.println("Public Fields:");
if (fields.length == 0) {
System.out.println("None");
} else {
for (Field field : fields) {
System.out.print("\t");
printModifiers(field.getModifiers());
System.out.print(field.getType().getSimpleName() + " ");
System.out.println(field.getName());
}
}
Constructor[] constructors = Apple.class.getConstructors();
System.out.println("\nPublic Constructors:");
if (constructors.length == 0) {
System.out.println("None");
} else {
for (Constructor constructor : constructors) {
System.out.print("\t");
printModifiers(constructor.getModifiers());
System.out.print(constructor.getName() + "(");
printParamTypes(constructor.getParameterTypes());
System.out.println(")");
}
}
Method[] methods = Apple.class.getMethods();
System.out.println("\nPublic Methods:");
if (methods.length == 0) {
System.out.println("None");
} else {
for (Method method : methods) {
if (method.getDeclaringClass() == Object.class) {
continue;
}
System.out.print("\t");
printModifiers(method.getModifiers());
System.out.print(method.getReturnType().getSimpleName() + " ");
System.out.print(method.getName() + "(");
printParamTypes(method.getParameterTypes());
System.out.println(")");
}
}