什么是超级接口是java?超级界面的目的是什么?
答案 0 :(得分:13)
以下是一个例子:
public interface A {
void doSomething();
}
public interface B extends A {
void doSomethingElse();
}
在此示例中,A
是B
的超级接口。这就像是一个超类。任何实现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)中,为了使用术语超接口,对接口的分层链没有任何要求。