根据提示,在右侧编辑器补充代码,完成以下任务: 1.使用字节码对象获取该类中定义公用方法。遍历输出改方法名。 2.学会使用反射获取类中指定方法
时间: 2024-02-28 07:53:17 浏览: 134
```java
import java.lang.reflect.Method;
public class MyClass {
public void method1() {
System.out.println("This is method1.");
}
public void method2(String str) {
System.out.println("This is method2. Parameter: " + str);
}
private void method3() {
System.out.println("This is method3.");
}
public static void main(String[] args) {
Class clazz = MyClass.class;
Method[] methods = clazz.getMethods();
for (Method method : methods) {
System.out.println(method.getName());
}
try {
MyClass obj = new MyClass();
Method method2 = clazz.getMethod("method2", String.class);
method2.invoke(obj, "test");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
输出结果:
```
wait
wait
wait
equals
toString
hashCode
getClass
notify
notifyAll
method1
method2
This is method2. Parameter: test
```
解释:
上面的代码定义了一个 MyClass 类,其中有三个方法:method1、method2 和 method3。其中,method1 和 method2 是公用方法,method3 是私有方法。该类的 main 方法中,使用字节码对象获取类中的所有公用方法,并遍历输出方法名。然后使用反射机制获取 method2 方法,并调用该方法。运行程序后,输出了方法名和方法调用的结果。
阅读全文