在Java中,可以使用反射(Reflection)來實現動態調用不同類中的方法。以下是一個簡單的示例:
ClassA
和ClassB
,并在其中定義一些方法:public class ClassA {
public void methodA() {
System.out.println("This is method from ClassA");
}
}
public class ClassB {
public void methodB() {
System.out.println("This is method from ClassB");
}
}
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) {
try {
// 創建ClassA和ClassB的實例
ClassA classA = new ClassA();
ClassB classB = new ClassB();
// 獲取ClassA和ClassB的Method對象
Method methodA = ClassA.class.getMethod("methodA");
Method methodB = ClassB.class.getMethod("methodB");
// 使用反射動態調用Method對象對應的方法
methodA.invoke(classA);
methodB.invoke(classB);
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
}
}
運行上述代碼,將輸出:
This is method from ClassA
This is method from ClassB
這樣,你就可以使用反射在Java中動態調用不同類中的方法了。請注意,反射可能會導致性能下降和安全風險,因此在實際項目中要謹慎使用。