abstract
类。
最好使用接口而不是类,因为 Java 不支持多类继承,而一个类可以实现多个接口。
如果一个类没有超类(Object 以外)、只有 public static final
字段、public abstract
方法和 public
内部类,则可以将其转换为接口。
示例:
abstract class Example {
public static final int MY_CONST = 42;
public abstract void foo();
}
class Inheritor extends Example {
@Override
public void foo() {
System.out.println(MY_CONST);
}
}
在应用快速修复后:
interface Example {
int MY_CONST = 42;
void foo();
}
class Inheritor implements Example {
@Override
public void foo() {
System.out.println(MY_CONST);
}
}
配置检查:
使用 Java 8 时报告包含非 abstract 方法的类 选项可用于仅报告其 static
和非 abstract 方法可以转换为 default
方法的类(仅适用于语言级别为 8 或更高时)。