Programing

최종 정적 및 정적 최종의 차이점

lottogame 2020. 6. 20. 10:44
반응형

최종 정적 및 정적 최종의 차이점


코드를 선언 한 코드를 찾았습니다.

private final static String API_RTN_SUCCESS = "0";
private final static String API_RTN_ERROR = "1";

public static final String SHARED_PREFERENCE_CONFIG = "shared_preference_config";
public static final String STARTUP_SETTING_KEY = "startup_setting";

그들 사이의 차이점은 무엇입니까? 아니면 다릅니다 않습니다 privatepublic?


전혀 차이가 없습니다. Java 언어 사양의 8.3.1-클래스-필드 수정 자에 따르면 ,

둘 이상의 (명확한) 필드 수정자가 필드 선언에 나타나는 경우 필수는 아니지만 FieldModifier 프로덕션에서 위에 표시된 순서와 일치하는 순서로 표시되는 것이 일반적입니다.

필드의 경우, 해당 프로덕션은 수정자를 다음 순서로 나열합니다.

@Annotation public protected private static final transient volatile

그리고 방법 :

@Annotation public protected private abstract static final synchronized native strictfp


그들은 동일합니다. 수정 자의 순서는 중요하지 않습니다. Java에서 수정자가 사용되는 모든 컨텍스트 에 동일한 규칙이 적용됩니다 .

그러나 대부분의 Java 스타일 안내서는 수정 자에 대해 동일한 특정 순서를 권장 / 관리합니다. 이 경우는 public static final입니다.


private static final String API_RTN_ERROR= "1";
private final static String API_RTN_ERROR= "1";
static private final String API_RTN_ERROR= "1";
static final private String API_RTN_ERROR= "1";
final static private String API_RTN_ERROR= "1";
final private static String API_RTN_ERROR= "1";

위의 모든 것들은 동일하며 처음 3 개의 위치는 중간에 있습니다.


그들은 동일합니다

private final static String API_RTN_ERROR = "1";

private static final String API_RTN_ERROR= "1";

그들 사이의 차이점은 무엇입니까?

정적 및 최종 순서 변경에 대해 이야기하고 있다면 동일합니다.

개인 또는 공공에 따라 다릅니 까?

아니요, 비공개 및 공개적으로 모든 주문을 사용할 수 있습니다. 단지 차이점은 개인 변수는 클래스 외부에서 직접 액세스 할 수 없다는 것입니다.


물론 동일합니다. 그것은 당신의 습관과 선호에 달려 있습니다 :-). 멤버와 메소드에도 공개 정적 최종 주문을 사용합니다.

참고 URL : https://stackoverflow.com/questions/11219556/difference-between-final-static-and-static-final

반응형