我们可以在 Java 中将接口声明为 final 吗?
java 8object oriented programmingprogramming
Java 中的接口类似于类,但它仅包含 final 和 static 的抽象方法和字段。
由于所有方法都是抽象的,因此您无法实例化它。要使用它,您需要使用类实现此接口并为其中的所有抽象方法提供主体。
将接口设为 final。
如果将类声明为 final,则无法扩展它。如果将方法设为 final,则无法覆盖它,如果将变量设为 final,则无法修改它。即,将 final 与 Java 实体一起使用,您无法进一步修改它们。
如果将接口设为 final,则无法实现其方法,这违背了接口的真正目的。因此,您无法在 Java 中将接口设为 final。但是,如果您尝试这样做,则会生成编译时异常,提示"修饰符组合非法" interface 和 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