java - 获取子类的实例,无需 if else 或反射或 switch-case

标签 java polymorphism

嗨,我有一个抽象父类(super class) Fruit 和一些子类 Apple、Orange,...

abstract class Fruit {
  public abstract String getFruitName();
  public static Fruit getInstance(String fruitName) {}
}

class Apple extends Fruit {
  public String getFruitName() {return "Apple";}
}

其他Fruit子类与Apple相同。我想实现 Fruit 的 getInstance 方法,以便例如对于参数“Apple”,它返回一个 Apple 对象。但我不想使用反射,也不想通过 if-else 或 switch-case 来检查它。我怎样才能做到这一点?

最佳答案

关于java - 获取子类的实例,无需 if else 或反射或 switch-case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667905/

相关文章:

java - 图像无法在外部 Web 浏览器 (Firefox) 中加载

java - 按顺序排列日期

java - 如何在不初始化Bean的情况下创建ItemReaderAdapter

java - 在 Java 中创建文件时如何在 Mac OS X 中提供文件路径?

Java通过运行时注入(inject)实现多态

c# - 与抽象类的接口(interface)

javascript - 需要有关 HTTPSession 超时的帮助

c++ - 虚函数未解析为大多数派生类方法

c++ - 不带多态性的抽象基类

python - 如何创建从外部库中的 sqlalchemy 模型继承的自定义类