4 回答
TA贡献1833条经验 获得超4个赞
从 的角度来看LoginUIController,没有这样的事情MainController。LoginUIController只知道大概InterfaceMainController。这基本上就是您在以下内容中定义的内容:
InterfaceMainController mainController = null;
要使用InterfaceMainController您的实例,首先需要接口的实现,在您的情况下是MainController. 然后,您创建一个实现实例:
InterfaceMainController mainController = new MainController();
最后,在您的情况下,您需要将实例提供给任何需要它的人LoginUIController。一种常见的方法是创建一个构造函数,如下所示:
public class LoginUIController
{
InterfaceMainController mainController = null;
public LoginUIController(InterfaceMainController mainController) {
this.mainController = mainController
}
...
}
以上是Elliot引用的依赖注入示例。
TA贡献1831条经验 获得超10个赞
你做这件事的方式并没有什么区别。这真的是你的手柄。
InterfaceMainController foo = new MainController();
foo.checkLogin("me", "my password");
您可以将 foo 传递给任何需要 InterfaceMainController 的方法。但代码在其他方面看起来相同。只是变量类型发生了变化。
TA贡献1799条经验 获得超9个赞
是的,可以将MainControllerobj传递给InterfaceMainController引用变量。
没有春天
InterfaceMainController mainController = new MainController();
使用 Spring 注解
如果您使用的是弹簧,那么您可以使用注释来自动连接MainController对象@component以及@Autowired 类似的东西
@Component
public class MainController implements InterfaceMainController {
........
}
和经销商的线mainController与注解@Autowired这样
@Autowired
InterfaceMainController mainController
添加回答
举报