当前,下面的代码给出了编译erorr,因为侦听器不知道什么是smsTask。我将在侦听器中需要一个smsTask实例。是否可以在不将其传递给控制器的情况下执行此操作?如果我这样做似乎很多余:
.createTask(smsTask,new TaskCompleteListener(smsTask){...}
当前代码:
public void doStuff(){
SmartPhoneTask smsTask=createSmsTask();
super.getSystem().createTask(smsTask,new TaskCompleteListener(){
@Override
public void onTaskComplete() {
releaseResources(smsTask);//error.
}});
}
private SmartPhoneTask createSmsTask() {
return new SmartPhoneTask();
}
createTask:
void createTask(SmartPhoneTask task, TaskCompleteListener listener);
最佳答案
您可以声明变量final
:
final SmartPhoneTask smsTask=createSmsTask();
关于java - 在未传递的接口(interface)中获取对象引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17220169/