Java는 클래스의 다중 상속을 지원하지 않으며 표준 메서드는 이 제한을 우회하지 않습니다. 클래스는 인스턴스 변수를 사용하여 상태를 유지할 수 있지만 인터페이스는 그럴 수 없기 때문입니다.
기본 메서드는 제한된 형태의 동작 다중 상속을 제공하므로 클래스가 기본 메서드를 사용하여 여러 인터페이스에서 동작을 상속할 수 있습니다.
클래스에 의해 구현된 두 개의 인터페이스가 동일한 기본 메서드를 가질 때 충돌이 발생할 수 있습니다. 두 인터페이스(Alpha 및 Beta)의 경우 둘 다 Reset() 메서드를 사용하는 경우입니다.
충돌 해결 규칙:
1 클래스 구현은 기본 인터페이스 구현보다 우선합니다.
2 두 인터페이스의 기본 메소드가 동일하고 클래스가 해당 메소드를 재정의하지 않으면 오류가 발생합니다.
3 한 인터페이스가 다른 인터페이스를 상속하고 둘 다 동일한 기본 메서드를 정의하는 경우 상속된 인터페이스의 버전이 우선적으로 적용됩니다.
인터페이스의 표준 구현을 명시적으로 참조하려면 다음 구문을 사용할 수 있습니다. NameInterface.super.NameMethod().
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3