Java 中可以将接口声明为 final 吗?


Java 中的接口类似于类,但它只包含抽象方法和字段,这些字段是 final 和 static 的。

由于所有方法都是抽象的,因此您无法实例化它。要使用它,您需要使用类实现此接口,并在其中为所有抽象方法提供主体。

使接口成为 final。

如果您将类声明为 final,则无法扩展它。如果您将方法设为 final,则无法覆盖它,并且,如果您将变量设为 final,则无法修改它。即,使用 Java 实体的 final,您无法进一步修改它们。

如果您将接口设为 final,则无法实现其方法,这违背了接口的初衷。因此,您无法在 Java 中将接口设为 final。如果您仍然尝试这样做,则会生成一个编译时异常,提示“修饰符组合非法 - 接口和 final”。

示例

在下面的示例中,我们定义了一个名为 MyInterface 的接口,并使用 final 修饰符。

public final interface MyInterface{
   public static final int num = 10;
   public abstract void demo();
}

编译时错误

编译时,上述程序会生成以下错误

输出

MyInterface.java:1: error: illegal combination of modifiers: interface and final
   public final interface MyInterface{
^
1 error

更新于: 2020-06-29

4K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告