首页 > 解决方案 > 是否可以使用 guice 在 java 接口中注入依赖项 - java

问题描述

我正在尝试在我的界面中注入依赖项

public interface TestInject {

   @Inject
   Mydependency dependencyToCall;

    default void processInput(String inputToCheck) {
        //some lines of code
        dependencyToCall.process(inputToCheck)
    } // If i dont do this then all implementation has to implement same code. 

  void handleError()//will be overwritten by implementation class

}

上面的代码抛出错误variable dependencyToCall might not be initialized

是否可以注入内部接口?

还是我必须引入抽象类来解决冗余代码问题

标签: javaguice

解决方案


我认为这行不通。在此处查看有关 Java 接口的官方文档:

接口声明引入了一种新的引用类型,其成员是类、接口、常量和方法。该类型没有实例变量,通常声明一个或多个抽象方法;否则,不相关的类可以通过为其抽象方法提供实现来实现接口。接口不能直接实例化。

猜你应该改用抽象类


推荐阅读