如何发送,接收和存储对外部方法的引用

时间:2012-09-14 16:57:43

标签: java android

在自定义类中,我试图执行通过参数从外部给出的函数。

对我来说,重要的是不必存储对父类等的任何引用,只需要调用方法/函数。

我尝试将方法作为参数发送,但它无效。

class A
    // var to store reference to external method
    private Method myMethodReference;  // (says error: never used)

    // the setter to store the reference to the external method
    public void setMethodReference(Method someMethod)
    {
        myMethodReference = someMethod;
    }

    public boolean someFunctionWithinMyClass()
    {
        // call the external method via my reference
        myMethodReference();  // (says error: The method myMethodReference() is undefined)
    }

此外,当我尝试从外部类设置对方法的引用时,它不起作用:

class B

    public void someFunction() { Log.i("la", "la" };

    instanceOfClassA.setMethodReference(someFunction); // (says error: variable someFunction not found)

因此,即使传递引用也不起作用,因为Eclipse假定someFunction是一个不在范围内的变量。

我希望这能更好地解释它!

1 个答案:

答案 0 :(得分:0)

private Method  onClick;

上方行会产生错误....

您应该以这种方式创建或声明方法......

public onClick(){


}

public abstract onClick();

现在....您已调用onClick() 而未实施 onClick()导致错误。