【发布时间】:2013-02-05 14:21:52
【问题描述】:
据我所知,子类构造函数使用super(); 调用超类构造函数。
但是既然接口没有构造函数,那怎么继承呢?
【问题讨论】:
-
你是对的。您不能从接口继承类,而类当然可以实现接口。接口只能继承接口,但是接口没有构造函数,所以这里没有问题。
标签: java inheritance constructor interface
据我所知,子类构造函数使用super(); 调用超类构造函数。
但是既然接口没有构造函数,那怎么继承呢?
【问题讨论】:
标签: java inheritance constructor interface
但是由于接口没有任何构造函数,如何进行继承??
很简单,一个接口不能有任何实例字段,所以没有什么可以构造的。您不能将代码放入接口中(无论如何都到 Java 7),因此不需要调用任何内容。
【讨论】:
【讨论】:
接口(也称为服务合同)是实现的,而不是构造的。它们定义了一个类提供的一组方法(服务),因此客户端知道他对实现类的期望,而不管实现接口的实际类型如何。构造函数与给定类型的这个特定实例相关,实现接口。
IYourObject yourObject = new YourObject();
另一方面,接口继承也是通过扩展来实现的。它将一个接口的方法“添加”到另一个接口,并允许在“层次结构”中的不同接口之间切换对象的接口类型。
【讨论】:
接口不是继承的——而是实现的
【讨论】:
接口不包含构造函数,原因如下:
【讨论】: