在 java 中实现接口

Implementing interface in java

我正在开发一个 java 程序,我的问题是我想编写一个通用方法来调用 具体方法就几个classes,class不知道。

例如,在正常使用中,我为 RootLayoutController class 编写了这段代码并且它有效:

RootLayoutController controller = loader.getController();
        controller.setMainApp(this)

但问题是我必须写很多方法来调用它们! 所以我创建了 PageController 接口(里面有 setMainApp() )并在 RootLayoutController 和其他 classes 中实现了它;然后将方法更改为:

Object controller = loader.getController();
        ((PageController) controller).setMainApp(this);

但是它抛出 classcastexception 并且我对接口了解不多所以我无法调试它! 非常感谢

如果你有接口 PageController,你可以这样做(因为 RootLayoutControllerPageController。):

PageController controller = loader.getController();

然后,没有必要投:

controller.setMainApp(this);

这就是接口存在的原因。

下java8、文件PageController.java(接口):

package test;

@FunctionalInterface
public interface PageController {
    void setMainApp(PageController c);
}

文件PageControllerImpl.java(测试实现):

package test;

public class PageControllerImpl implements PageController {

    @Override
    public void setMainApp(PageController c) {
        // TODO your implemenrtation

    }

    public static void main(String[] args) {
        PageController testController = new PageControllerImpl();
        testController.setMainApp(testController);        
    }

}