Java Dagger2:如何在多态性期间注入成员变量?

Java Dagger2:如何在多态性期间注入成员变量?,java,design-patterns,dagger-2,Java,Design Patterns,Dagger 2,根据上述代码,我们可以看到: 新建a时,将创建B 新建ChildA时,将创建ChildB 我的问题是在这种多态性情况下如何注入mB? 如果设计模式不合适,我如何折射代码 public class A { protected B mB; public A() { createB(); } public void createB() { mB = new B(); } } public class ChildA extends

根据上述代码,我们可以看到:

  • 新建a时,将创建B

  • 新建ChildA时,将创建ChildB

  • 我的问题是在这种多态性情况下如何注入mB? 如果设计模式不合适,我如何折射代码

    public class A {
        protected B mB;
        public A() {
            createB();
        }
        public void createB() {
            mB = new B();
        }
    }
    
    public class ChildA extends A {
    
        public ChildA() {
            super();
        }
        public void createB() {
            mB = new ChildB();
        }
    }
    
    public class B {
        public B() {
        }
    }
    
    public class ChildB extends B {
        public ChildB() {
        }
    }
    
    public class DemoApp {
        public static void main(String[] args) {
            A a = new ChildA();
        }
    }