program story

Java 수정 자의 합리적인 순서 (추상, 최종, 공개, 정적 등)는 무엇입니까?

inputbox 2020. 8. 18. 07:40
반응형

Java 수정 자의 합리적인 순서 (추상, 최종, 공개, 정적 등)는 무엇입니까?


Java 수정 자의 합리적인 순서는 무엇입니까?

  • 요약
  • 결정적인
  • 원주민
  • 은밀한
  • 보호
  • 공공의
  • 공전
  • strictfp
  • 동기화 됨
  • 과도 현상
  • 휘발성 물질

최신 정보

에서 나는 표현을 변경 한 추천합리적인 순서가 권장 여부 논의를 진정시키기 위해.


관습 수식의 사용 순서는에서 언급 Java 언어 사양 (그리고 자바 가상 머신 사양) 예에 대한 클래스 수정 다음과 같은 정의 (추출물)를 찾을 수 있습니다 :

ClassModifiers:
    ClassModifier
    ClassModifiers ClassModifier

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

[....]

클래스 선언에 두 개 이상의 (고유 한) 클래스 수정자가 나타나면 필수는 아니지만 ClassModifier 프로덕션에서 위에 표시된 순서와 일치하는 순서로 나타나는 것이 일반적입니다. (단락 하단에 작은 텍스트!)

당신은 예 수정의 사용이 지정되어 여러 다른 장소에서이 문장을 찾을 여기 필드 수정을 위해.

업데이트 : "지정 / 권장"을 "관습"으로 대체하여이 답변을 수용 할 수 있도록했습니다. 당신은 코멘트를 읽으면 (덕분에이 명확를 만들기 위해 @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 사양, 표 4.4 에 따라 주문을 사용하는 것이 합리적입니다.

  • 공공의
  • 보호
  • 은밀한
  • 요약
  • 기본
  • 공전
  • 결정적인
  • 과도 현상
  • 휘발성 물질
  • 동기화 됨
  • 원주민
  • strictfp

int 값을 기반으로합니다.

수정 자 (Java Platform SE 8)

  • 1 : 공개
  • 2 : 개인
  • 4 : 보호됨
  • 8 : 정적
  • 16 : 최종
  • 32 : 동기화 됨
  • 64 : 휘발성
  • 128 : 과도
  • 256 : 네이티브
  • 512 : 인터페이스
  • 1024 : 초록
  • 2048 : strictfp

I use two rules to remember the modifier sequence, but doesn't include the strictfp, as it is never used by me. FYI.

  1. synchronized native are least priority people.

  2. PPP AS FTV: PPP {noise sound} AS {watching} FTV {France TV}.

:)

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

반응형