我有一个抽象类类型,我继承创建新类。作为一个相当于例如,考虑:Java静态方法:创建当前类型的对象
public abstract class BaseClass {
public BaseClass(String input)
{
...
}
public abstract void doSomething();
public String getResult()
{
...
}
}
现在我可以覆盖BaseClass的,实行“DoSomething的”执行不同的操作(例如,逆转或利用,如果我真的对字符串进行操作,虽然我不是真的,这只是一个例子)。
最常见的用法是:
BaseClass bc = new ExtendsBaseClass(input);
bc.doSomething();
String result = bc.getResult()
所以我想为这一个静态的包装方法。
我想实现:
public static String doSomethingForResult(String input)
{
BaseClass bc = /*new current type*/;
bc.doSomething();
return bc.getResult();
}
但我不知道如何处理替换评论,或如何使它工作;我不想强迫每个实现类重新实现它(如果这在概念上是可能的,因为abstract static
是不允许的)
您可以有一个单独的工厂类,可以创建子类的实例。 'BaseClass bc = BCFactory.getDefaultInstance();'。但是你不应该使用这种静态方法。 –