我想知道是否可以在Thread's run
中调用定义函数。可以通过使用if语句来完成,但是有更好的方法吗?
一个可能的解决方案
public class WorkerThread extends Thread {
private String functionToCall = null;
public WorkerThread(String functionToCall) {
this.functionToCall = functionToCall;
}
public void run() {
if (functionToCall.equals("func1"))
func1();
else if (functionToCall.equals("func2"))
func2();
}
private void func1() {
}
private void func2() {
}
}
最佳答案
Java反射提供了一种通过名称调用方法的方法。该教程可在此处找到:http://docs.oracle.com/javase/tutorial/reflect/。