java - Java Constructor 可以构造子类的对象吗?

标签 java factory

有没有办法修改正在构造函数中构造的类?

public class A {
  A() {
    //if (condition) return object of type B
    //else return A itself
  }
}
public class B extends A { }

基本上我想使用基类构造函数作为工厂方法。在 Java 中可以吗?

最佳答案

不,如果你想这样做,你必须为 A 使用工厂方法。您的类的客户有权期望,如果他们执行 new A(),他们将获得类 A 的对象,而不是其他对象。

关于java - Java Constructor 可以构造子类的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501922/

相关文章:

java - 变量赋值需要强制转换吗?

java - 如何保留PDF中的文本布局格式和文本字体?

ios - 使用工厂类来实例化相关具体类组

python - 将图像渲染为定义的像素方 block HTML5 Canvas ?

angularjs - Angular JS : Async factory call issue

c++ - 复合模式中的内存管理

java - 哪些 BPM 工具适合 Spring?

java - 在使用 cropIwa 保存图像时需要帮助

java - StackOfIntegers 给出奇怪的结果

javascript - ng-click 没有触发工厂类