我知道不可能在接口中定义构造函数。但我想知道为什么,因为我认为它可能非常有用。
因此,您可以确定类中的某些字段是为此接口的每个实现定义的。
例如,考虑以下消息类:
public class MyMessage {
public MyMessage(String receiver) {
this.receiver = receiver;
}
private String receiver;
public void send() {
//some implementation for sending the mssage to the receiver
}
}
如果为此类定义一个接口,以便我可以拥有更多实现消息接口的类,那么我只能定义 send 方法,而不能定义构造函数。那么我怎样才能确保这个类的每个实现都确实有一个接收器集呢?如果我使用类似的方法setReceiver(String receiver)
我不能确定这个方法是否真的被调用了。在构造函数中我可以确保这一点。
采取您所描述的一些事情:
“所以你可以确定类中的某些字段是为
该接口的每个实现。”
“如果为这个类定义一个接口,这样我就可以拥有更多
实现消息接口的类,我只能定义
发送方法而不是构造函数”
...这些要求正是抽象类 http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html是给。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)