java中的超级接口

时间:2009-06-30 18:15:32

标签: java

什么是超级接口是java?超级界面的目的是什么?

6 个答案:

答案 0 :(得分:13)

以下是一个例子:

public interface A {
    void doSomething();
}

public interface B extends A {
    void doSomethingElse();
}

在此示例中,AB超级接口。这就像是一个超类。任何实现B的类现在也会自动实现A,并且必须提供doSomething()doSomethingElse()的实现。

答案 1 :(得分:1)

如果你有

public interface Bar extends Foo

然后Foo将成为Bar的超级界面。这声明Bar的所有实例都是Foo的实例,可以这样对待,因此您可以在Bar实例传递Foo,等

答案 2 :(得分:1)

基本上,当接口从其他接口扩展时,它会强制实现它的类在两个接口中实现方法。

  

如果提供了extends子句,那么   声明的接口扩展   每个其他命名的接口和   因此继承了成员类型,   方法和每个的常量   其他命名的接口。这些其他   命名接口是直接的   接口的超接口   声明。任何实现的类   声明的接口也是   考虑实施所有   这个接口的接口   延伸。

您也可以使用方法覆盖:)

http://java.sun.com/docs/books/jls/second_edition/html/interfaces.doc.html

答案 3 :(得分:1)

Java中的接口可以相互扩展,因此扩展接口支持父级提供的所有内容及其自身提供的内容。例如,Set具有唯一的操作,但也支持Collection所做的所有操作。

您要扩展的接口被视为超级接口。 注意,接口可以扩展多个接口,因此具有多个超级接口。

答案 4 :(得分:0)

当你有2个接口与一些相关(相同)的字段或方法。 你应该使用一个作为superInterface,第二个将扩展,你不应该复制它。 这是因为简单明了,看看究竟发生了什么。

答案 5 :(得分:0)

术语超级接口的用途略有不同,具体取决于(a)接口的上下文,以及(b)类,如下所述:

(a)给定接口A和B,当B扩展A时,A是B的超接口(Tom的上述解释)。

请参阅jls8, 8.1.5

(b)给定类X和接口C,当X实现C时,则C是X的直接超接口。

请参阅jls8, 9.1.3

此处的第二种情况在任何先前的解释中都不清楚。也就是说,在情况(b)中,为了使用术语超接口,对接口的分层链没有任何要求。