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

我发现了一个代码就像声明的代码

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"; 

他们之间有什么不同还是他们是一样的? 或者是private还是public

没有任何区别。 根据Java语言规范的8.3.1 – 类 – 字段修饰符 ,

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

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

@Annotation public protected private static final transient volatile

而对于方法:

@Annotation public protected private abstract static final synchronized strictfp

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

但是,大多数Java风格指南build议/命令修改器的特定顺序。 在这种情况下,它是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"; 

甚至以上三者的位置是相同的。

他们是一样的,

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

他们之间有什么不同还是他们是一样的?

如果你正在谈论改变静态和最终的顺序然后是的,他们是一样的。

这是私人还是公共?

不,您可以使用任何私人和公共秩序。 不同之处在于私有variables不能直接在课程外部访问。