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);
}
}
검사 구성:
default 메서드로 변환될 수 있는 static 메서드 및 추상이 아닌 메서드를 포함하는 클래스만 보고하려면
Java 8을 사용할 때 추상이 아닌 메서드가 포함된 클래스 보고 옵션을 사용하세요 (언어 수준 8 이상에서만 적용 가능).