0

A实现I需要方法的接口doAction()。如果我从 classA 类中调用一个方法B,并将“ this”(class A)传递给该方法,我如何从 class 中的方法调用存在于类A中的方法B?例如:

class A implements I {
    public void start() {
        B.myMethod(this);
    }

    @Override
    public void doAction() {
        // Do stuff...
    }
}

Class B {
    public void myMehtod(Class theClass) { //How would I accept 'this', and...
        theClass.doAction(); //How would I call the method?
    }
}

我这样做是为了自定义库,而不知道扩展类的确切名称I

4

1 回答 1

4

这是关于接口如何工作的一个非常基本的问题。我建议尝试找到有关它们的教程。

无论如何,您所要做的就是声明一个以接口为类型的参数。您可以在接口类型(或实现该接口的任何子接口或类)的变量上调用接口方法。

Class B {
    public void myMethod(I theClass) {
        theClass.doAction();
    }
}
于 2013-04-27T04:13:22.737 回答