C# SEALED와 Java의 최종 키워드간에 기능적 차이가 있습니까? [복제하다

StackOverflow https://stackoverflow.com/questions/2069010

  •  20-09-2019
  •  | 
  •  

문제

가능한 복제 :
C#에서 Java의 결승전과 동등한 것은 무엇입니까?

Java에서 Final은 단순한 클래스 이상에 적용됩니다.

그래서 궁금합니다. 두 키워드 사이에 기능적 차이가 있습니까?

감사합니다. 비교적 멍청한 질문에 대해 죄송합니다.

빠른 Google 검색은 내 요구를 충족시키지 못했습니다.

도움이 되었습니까?

해결책

Java 's final 키워드는 C#과 동일합니다 sealed, readonly, 그리고 sealed 키워드.

이 세 가지 중 2 개는 Java와 C#에서 다소 다릅니다.

Java에서 메소드는 기본적으로 가상이므로 모든 메소드를 선언 할 수 있습니다. final 재정의되지 않도록합니다. C#에서 메소드는 기본적으로 가상이 아니므로 유일한 재정의 메소드를 선언 할 수 있습니다. sealed (더 이상 무시 당하지 않도록)

Java에서는 모든 변수 또는 필드를 선언 할 수 있습니다. final 초기화 후 (및 필드의 경우, 생성자 외부)가 변경되는 것을 방지합니다. C#에서는 필드를 선언 할 수 있습니다 readonly, 똑같은 효과는 있지만 로컬 변수는 할 수 없습니다. Java에는 C#의 동등한 것이 없습니다. const 예어. (constC#의 S는 컴파일 타임에 평가되며 값은 참조 대신 하드 코딩됩니다).

클래스의 경우 C#의 경우 sealed 수업과 자바 final 클래스는 정확히 동일합니다 (AFAIK).

다른 팁

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top