【发布时间】:2011-03-17 03:02:53
【问题描述】:
当然,以下在 Java 中不起作用(没有抽象静态方法)...
public abstract class Animal {
public abstract static Animal getInstance(byte[] b);
}
public class Dog extends Animal {
@Override
public static Dog getInstance(byte[] b) {
// Woof.
return new Dog(...);
}
}
public class Cat extends Animal {
@Override
public static Cat getInstance(byte[] b) {
// Meow.
return new Cat(...);
}
}
要求Animal 类具有实例化自身的静态getInstance 方法的正确方法是什么?这个方法应该是静态的; “正常”的抽象方法在这里没有意义。
【问题讨论】:
标签: java abstract-class factory static-methods