最终静态和静态最终之间的区别

2022-08-31 06:37:57

我发现一个代码,它声明了代码,如

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


答案 1

完全没有区别。根据 Java 语言规范的 8.3.1 - 类 - 字段修饰符

如果字段声明中出现两个或多个(不同的)字段修饰符,则习惯上(尽管不是必需的)它们以与上面所示的顺序在 FieldModifier 的生产中所示的顺序一致。

对于字段,所述生产按以下顺序列出修饰符:

@Annotation public protected private static final transient volatile

对于方法:

@Annotation public protected private abstract static final synchronized native strictfp


答案 2

它们是相同的。修饰符的顺序并不重要。请注意,相同的规则适用于在 Java 中使用修饰符的所有上下文。

但是,大多数 Java 风格指南建议/强制要求修饰符具有相同的特定顺序。在本例中,它是 。public static final


推荐