在Java中,有没有办法强制任何实现接口的类都具有无参数构造函数的约束?如果不能,你可以强制它有一个返回类实例的工厂吗?
问问题
742 次
3 回答
2
在Java中,有没有办法强制任何实现接口的类都具有无参数构造函数的约束?
不是在编译时,不是。
如果不能,你可以强制它有一个返回类实例的工厂吗?
不是在编译时,不是。
当然,单元测试可以同时检查这两种情况,前提是您可以确定要检查的类型。
于 2012-08-02T14:38:52.580 回答
1
不,对双方。不过,一般来说,您既不想也不需要这样做。
于 2012-08-02T14:39:13.860 回答
1
不在接口上,但是可以写一个带有工厂方法的类:
public abstract class Foo {
private Foo() {}
public static Bar createBar() {
return new BarImpl();
}
}
public interface Bar {}
Bar myBar = Foo.createBar();
这就是Java 在Calendar.java 等类上公开其工厂方法的方式。
于 2012-08-02T15:12:55.103 回答