嘿,我想知道是否有可能在创建实现者时为接口提供一些初始化。就像抽象类中的空构造函数。
我尝试了以下内容:
public interface State {
{
//Do something.
}
public void render();
public void tick();
}
但它不允许你拥有实例初始化程序,有没有什么办法可以做到这一点?可能需要使用内部类吗?
因此,这个想法是当一个实现对象的新实例被创建时,自动调用一段代码。
在接口中不能有静态或实例块。但是从Java 8开始,您可以拥有静态和默认方法。
public interface MyData {
default void print(String str) {
if (!isNull(str))
System.out.println("MyData Print::" + str);
}
static boolean isNull(String str) {
System.out.println("Interface Null Check");
return str == null ? true : "".equals(str) ? true : false;
}
}
你不能这样做,接口无法定义初始化器。
接口基本上是方法签名的列表。