【发布时间】:2019-12-18 22:05:27
【问题描述】:
我有以下 2 个抽象类:
public abstract class AbstractCarChecker implements CarService {
}
以及以下扩展 AbstractCarChecker
public abstract class CarChecker<T extends Car> extends AbstractCarChecker {
}
我想要一个工厂类来实例化 CarChecker 对象,以便所有子类(例如FordCheckerFactory)可以扩展它来创建实例。
public class CarCheckerFactory {
public CarCheckerFactory() { }
public static CarChecker newFrom(String carName, String carReg) {
CarChecker carChecker = new CarChecker(carName, carReg);
return carChecker;
}
}
但问题是我无法将 CarChecker 实例化为其摘要。
最好的方法是什么,使用if statement 来决定返回什么具体实现?例如将“ford”传递给newFrom 方法就知道要创建一个FordChecker 对象了吗?
【问题讨论】:
标签: java constructor static factory abstract