我试图从一个类扩展并实现一个接口。这是我的代码。
class A {
public void print1() {
System.out.println("Hello Class");
}
}
interface B {
public void print2();
}
class C extends A implements B {
public void print2() {
System.out.println("Interface");
}
}
我首先做的是
class C implements B extends A {
public void print2() {
System.out.println("Interface");
}
}
它会导致错误。
似乎extends
关键字需要在implements
之前出现。为什么需要它?任何特定的原因或者它只是java开发的方式。 ?
答案 0 :(得分:1)
因为您只能从一个类扩展,但实现多个接口。我认为这只是语言语法所强加的良好语法风格的问题。无论如何,这个问题似乎与this one重复。
答案 1 :(得分:1)
这是在JLS, section 8.1:
中定义的NormalClassDeclaration:
{ClassModifier} class Identifier [TypeParameters] [Superclass] [Superinterfaces] ClassBody
在这里,您可以清楚地看到必须在任何超接口声明之前声明超类。