package step2; public class ReflectFunc { public static void main(String[] args) { Class<Student> studentClass = Student.class; // ---------------------Begin------------------------ // 根据上方的字节码对象,获取定义的方法并遍历输出 for(Class studentClass:studentClass){ System.out.println() } // 获取 Student 类中的getAge方法并将其打印输出 // ---------------------End------------------------ } }
时间: 2023-08-15 18:23:40 浏览: 202
```java
package step2;
import java.lang.reflect.Method;
public class ReflectFunc {
public static void main(String[] args) {
Class<Student> studentClass = Student.class;
// ---------------------Begin------------------------
// 根据上方的字节码对象,获取定义的方法并遍历输出
Method[] methods = studentClass.getMethods();
for (Method method : methods) {
System.out.println(method.getName());
}
// 获取 Student 类中的getAge方法并将其打印输出
try {
Method getAgeMethod = studentClass.getMethod("getAge");
System.out.println(getAgeMethod.getName());
} catch (Exception e) {
e.printStackTrace();
}
// ---------------------End------------------------
}
}
```
解释:
上面的代码中,我们使用字节码对象 studentClass 获取了 Student 类中所有的公共方法,并遍历输出每个方法的名称。然后,我们通过反射机制获取了 Student 类中的 getAge 方法,并输出了该方法的名称。注意,由于 getAge 方法没有参数,因此在 getMethod 方法中我们没有传入任何参数。运行程序后,输出了方法名。
阅读全文