在以下代码中我创建一个可召唤的可呼叫,该可调用在call() - 方法中创建可运行的可运行。我的问题是运行() - 无法达到方法(代码未能执行)。您知道为什么以及如何解决吗?
public static void main(String[] args) {
Callable<Object> c = new Callable<Object>() {
@Override
public Object call() throws Exception {
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("hi");
}
};
return null;
}
};
try {
c.call();
} catch (Exception e) {
}
}
Callable<Object> c = new Callable<Object>() {
@Override
public Object call() throws Exception {
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("hi");
}
};
r.run();
return null;
}
};
try {
c.call();
} catch (Exception e) {
}
你知道为什么...
已经由其他人解释了:您已经有创建Runnable
实例的书面代码,但是您的代码在创建它后对实例没有任何作用。您的代码不会直接调用run()
方法,您的代码也不会将实例移交给任何可以调用该方法的对象。
...以及如何解决该问题?
这取决于您想要代码到 do 的内容。如果您想要的话
看起来您正在尝试学习一些东西,但是您还没有告诉我们您想学习的东西。