메서드 재정의의 공변 반환 유형
Java의 재정의 메서드는 특정 조건이 충족되는 경우 반환 유형이 다를 수 있습니다. 특히 Java는 공변 반환 유형을 지원하므로 재정의 메서드가 재정의하는 메서드보다 더 구체적인 반환 유형을 가질 수 있습니다.
JLS(Java 언어 사양) 섹션 8.4.5에 따르면 이는 다음과 같은 경우에 허용됩니다. 다음 규칙을 준수합니다.
원래 메서드가 참조 유형을 반환하는 경우:
예를 들어 다음 코드를 고려하세요.
class ShapeBuilder { ... public Shape build() { .... } } class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { .... } }
이 예에서 CircleBuilder의 build() 메서드는 build( ) ShapeBuilder의 메소드. 재정의된 메서드의 반환 형식은 Shape이고 재정의된 메서드의 반환 형식은 Shape의 하위 형식인 Circle입니다. 이는 Java의 공변 반환 유형 규칙에 의해 허용됩니다.
위 내용은 Java의 재정의 메서드는 언제 다른 반환 유형을 가질 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!