【发布时间】:2015-08-01 20:02:02
【问题描述】:
我想对接口强制执行一个静态方法,该方法创建一个实现该接口的新实例,用请求的值填充它,然后返回它。
我的问题是如何对接口进行编码,以便在没有实现类时无法调用方法。
例子:
public interface IMemoryCell {
public static ? memoryCellCreator(int val)
{
return ?;
}
public abstract int getVal();
public abstract void setVal(int val);
}
【问题讨论】:
-
您不必将方法设为默认值吗? (就像你的问号中缺少的关键字一样)我不确定我是否认为它是这样的。
-
你的意思是你试图创建一个实现接口的任意类的实例?
-
@DaveNewton 是的,正确的。
-
@jundl77 谢谢,但是 - 不,静态你不需要它,请查看docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html
-
Java 8 允许在接口中使用静态方法。编写一个公共静态工厂方法,实例化一个实现并返回它。
标签: java interface static java-8