programing

자바 수식어의 적절한 순서(추상, 최종, 공개, 정적 등)는 무엇입니까?

goodcopy 2022. 11. 7. 23:03
반응형

자바 수식어의 적절한 순서(추상, 최종, 공개, 정적 등)는 무엇입니까?

자바 수식어의 합리적인 순서는 무엇입니까?

  • 추상적인
  • 최종
  • 원어민
  • 사적인
  • 보호되고 있다
  • 일반의
  • 정적인
  • 엄밀한
  • 동기화된
  • 일시적인
  • 휘발성의

갱신하다

주문의 추천 여부를 둘러싼 논의를 진정시키기 위해 문구를 추천에서 합리적으로 변경했습니다.

수식어의 통상적인 사용 순서는 Java Language Specification(Java Virtual Machine Specification이 아닌)에 기재되어 있습니다.예를 들어 클래스 수식어의 정의(추출)는 다음과 같습니다.

ClassModifiers:
    ClassModifier
    ClassModifiers ClassModifier

ClassModifier: one of
    Annotation public protected private
    abstract static final strictfp

[....]

클래스 선언에 2개 이상의 (구분이 있는) 클래스 수식자가 표시되어 있는 경우는, 반드시 필요한 것은 아니지만, Class Modifier 의 실동에서의 순서와 일치하는 순서로 표시되는 것이 통례입니다.(문단 하단의 작은 텍스트!)

이 문장은 수식자의 용도가 지정되어 있는 다른 장소(: 필드 수식자의 경우)에서 찾을 수 있습니다.

업데이트: "specified/recommended"를 "customous"로 대체하여 적절한 답변을 작성했습니다.코멘트를 읽으시면 참고해주세요;-) (@EJP에서 명확하게 해 주셔서 감사합니다)- 그래도 저는 관례적인 순서를 사용하는 것을 추천합니다.

또한 Google은 Java 사양에 언급된 관습적인 순서를 사용할 것을 권장합니다.

public / protected / private 
abstract 
static 
final 
transient 
volatile 
synchronized 
native 
strictfp

업데이트: OpenJDK 커뮤니티 프로젝트용 새로운 "Java Style Guidelines" 이니셔티브가 도입되었습니다.또한 수정자 순서에 대한 권장 사항이 있으며 Java 8의 새로운 기본 수정자도 포함되어 있습니다.

public / private / protected
abstract
static
final
transient
volatile
**default**
synchronized
native
strictfp

Java Virtual Machine Specification, 표 4.4에 따라 주문을 사용하는 것이 합리적입니다.

  • 일반의
  • 보호되고 있다
  • 사적인
  • 추상적인
  • 체납
  • 정적인
  • 최종
  • 일시적인
  • 휘발성의
  • 동기화된
  • 원어민
  • 엄밀한

int 값을 기반으로 합니다.

수식자(Java Platform SE 8 )

  • 1 : 퍼블릭
  • 2 : 프라이빗
  • 4 : 보호됨
  • 8 : 스태틱
  • 16 : 최종
  • 32 : 동기
  • 64 : 휘발성
  • 128 : 과도
  • 256 : 네이티브
  • 512 : 인터페이스
  • 1024 : 추상
  • 2048 : strict fp

나는 수식어 시퀀스를 기억하기 위해 두 가지 규칙을 사용하지만, 내가 사용한 적이 없기 때문에 strictfp는 포함하지 않는다.참고하세요.

  1. 싱크로나이즈드 네이티브는 우선순위가 낮은 사람입니다.

  2. PPP AS FTV: PPP {노이즈 사운드} AS {watching} FTV {France TV}.

:)

언급URL : https://stackoverflow.com/questions/16731240/what-is-a-reasonable-order-of-java-modifiers-abstract-final-public-static-e

반응형