Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

接口声明及其成员可以使用哪些修饰符?

查看完整题解

参考回答

直接回答

先分清修饰的是接口本身、字段还是方法。顶层接口通常是 public 或包访问;接口中的字段隐含 public static final。普通抽象接口方法隐含 public abstract,另外还可以声明 default、static、private 方法,但这些修饰符不能任意叠加。

讲清原理

在类中声明的成员接口还可使用适用的成员访问权限,并隐含 static;在接口中声明的成员接口则隐含 public static。顶层接口不能简单加 private 或 protected。

Java 21 支持 sealed 接口及受规则约束的 non-sealed 子接口。strictfp 仍可能出现在允许的位置,但在该版本不再改变浮点计算语义。接口不能被声明成 final,也没有普通实例字段或构造器。

例子与易错点

interface Greeting {
    private String prefix() { return "你好"; }
    default String text() { return prefix() + " Java"; }
}
class SimpleGreeting implements Greeting {}
System.out.println(new SimpleGreeting().text()); // 你好 Java

private 接口方法用于共享实现,不是让实现类必须补写的抽象方法。protected 接口方法、private abstract 方法等组合不合法。回答“接口修饰符”时应把几个层次分开,不能给出一份不区分位置的关键词清单。

相关题:第 8 题、第 9 题、第 32 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。