1

据我所知,子类构造函数使用super();. 但是既然接口没有任何构造函数,那么继承怎么可能发生呢?

4

5 回答 5

5

但是由于接口没有任何构造函数,继承如何发生?

很简单,一个接口不能有任何实例字段,所以没有什么可以构造的。您不能将代码放在接口中(无论如何都到 Java 7),所以没有什么需要调用的。

于 2013-02-05T14:23:46.023 回答
2

接口是一个契约,定义了实现必须提供哪些方法。类不继承接口而是实现它。

规范

这种类型没有实现,但其他不相关的类可以通过为其抽象方法提供实现来实现它。

于 2013-02-05T14:23:19.770 回答
1

接口不是继承的——而是实现的

于 2013-02-05T14:24:19.883 回答
1

接口(也称为服务契约)是实现的,而不是构造的。它们定义了一个类提供的一组方法(服务),因此客户端知道他对实现类的期望,而不管实现接口的实际类型如何。构造函数与给定类型的这个特定实例相关,实现接口。

IYourObject yourObject = new YourObject();

另一方面,接口继承也是通过扩展来实现的。它将一个接口的方法“添加”到另一个接口,并允许在“层次结构”中的不同接口之间切换对象的接口类型。

于 2013-02-05T14:23:42.070 回答
0

接口不包含构造函数,原因如下:

  • 接口的数据成员已经初始化。
  • 不允许定义的特殊定义方法的构造函数以及接口数据成员是静态的。
于 2016-12-26T18:28:38.680 回答