> Java > java지도 시간 > Java에서 생성자가 최종일 수 없는 이유는 무엇입니까?

Java에서 생성자가 최종일 수 없는 이유는 무엇입니까?

PHPz
풀어 주다: 2023-08-20 19:01:22
앞으로
1504명이 탐색했습니다.

Java에서 생성자가 최종일 수 없는 이유는 무엇입니까?

메소드를 final로 선언할 때마다 이를 재정의할 수 없습니다. 즉, 슈퍼클래스의 최종 메서드 구현을 하위 클래스에 제공할 수 없습니다.

즉, 메소드를 final로 선언하는 목적은 메소드가 외부(서브클래스)에서 수정되는 것을 방지하는 것입니다.

상속에서 클래스를 확장하면 하위 클래스가 생성자를 제외한 상위 클래스의 모든 멤버를 상속합니다.

즉, Java에서는 생성자를 상속할 수 없으므로 생성자를 재정의할 수 없습니다.

따라서 생성자 앞에 final을 추가하는 것은 의미가 없습니다. 따라서 Java에서는 생성자 앞에 final 키워드를 사용하는 것을 허용하지 않습니다.

생성자를 final로 선언하려고 하면 컴파일 타임 오류가 발생하고 "여기에서는 final 수정자가 허용되지 않습니다"라는 메시지가 표시됩니다.

다음 Java 프로그램에서 Student 클래스에는 final로 선언된 생성자가 있습니다.

Demo

public class Student {
   public final String name;
   public final int age;
   public final Student() {
      this.name = "Raju";
      this.age = 20;
   }
   public void display() {
      System.out.println("Name of the Student: "+this.name );
      System.out.println("Age of the Student: "+this.age );
   }
   public static void main(String args[]) {
      new Student().display();
   }
}
로그인 후 복사

컴파일 시간 오류

위 프로그램을 컴파일하는 동안 다음 오류가 발생합니다.

rreee

위 내용은 Java에서 생성자가 최종일 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿