当前,下面的代码给出了编译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/

10-10 03:03