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
添加回答
舉報