Java에서는 클래스가 final로 정의되거나 final로 수정된 클래스인 한 상속이 불가능합니다.
jdk 개발자는 가장 기본적인 클래스 중 일부는 개발자에게 공개할 필요가 없다고 믿기 때문에 상속 시 사용자가 실수를 하면 많은 문제가 발생할 가능성이 높습니다. 사용자가 기본 클래스에 해당 확장을 수행하는 것을 방지하기 위해 Java 디자인 프로세스의 열기 및 닫기 원칙도 반영하며 이러한 클래스는 궁극적으로 최종 클래스로 설계됩니다.
final의 규칙은 다음과 같습니다.
String,클래스에 final을 사용하면 final 클래스는 누구에게도 상속될 수 없습니다. 즉, 이 클래스는 상속 트리의 리프 클래스이며 이러한 유형의 디자인이 고려됩니다. 완벽하며
수정이나 확장이 필요하지 않습니다. 최종 클래스의 멤버에 대해 최종 클래스인지 여부를 정의할 수 있습니다. 메소드의 경우, 자신이 속한 클래스가 final이기 때문에 당연히 final이 됩니다. final 클래스의 메서드에 명시적으로 final을 추가할 수도 있지만 이는 분명히 의미가 없습니다.
상속할 수 없는 Java의 일반적인 클래스는 다음과 같습니다.
StringBuffer,StringBuilder,
Double, Integer, Long
등과 같은 기본 유형 래퍼 클래스입니다.
이 String 클래스가 어떻게 정의되는지 살펴보겠습니다.
위는 이 String 클래스가 정의된 방법이며 최종 수정자를 명확하게 볼 수 있습니다!
전체 클래스가 final이라고 말하면(정의 앞에 final 키워드를 접두사로 붙임) 이 클래스에서 상속하고 싶지 않거나 다른 사람이 이 작업을 수행하도록 허용하지 않는다는 의미입니다. 즉, 어떤 이유로든 우리 클래스는 확실히 변경할 필요가 없거나 보안상의 이유로 하위 클래스 처리(하위 클래스 처리)를 원하지 않습니다.
추천 학습:
Java 비디오 튜토리얼위 내용은 Java에서 상속할 수 없는 클래스는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!