Java 基础 · 单选题 · 第 5 题
Java 后端开发面试 · 第 5 题
关于 Java 8 及以后版本的接口与抽象类,下列说法正确的是?
- A接口里的方法都不能有方法体,只能交给实现类去提供具体实现
- B一个类可以同时继承多个抽象类,用这种方式实现多重继承
- C接口可以定义构造方法,在实现类实例化时会被自动调用
- D接口可以有 default 方法和静态方法,但不能有实例字段
答案
D D. 接口可以有 default 方法和静态方法,但不能有实例字段
解析
Java 8 起接口可以有 default 方法和 static 方法,Java 9 起还可以有 private 方法;接口里的字段都是 public static final 常量。类只能单继承一个类(包括抽象类),但可以实现多个接口。抽象类可以有构造器和实例状态,接口不行,这是两者的本质区别。