我找到了一个声明代码如
的代码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
是否有所不同?
答案 0 :(得分:197)
完全没有区别。根据 8.3.1 - Classes - Field Modifiers of the Java Language Specification,
如果两个或多个(不同的)字段修饰符出现在字段声明中,则通常(尽管不是必需的)它们的显示顺序与上面在FieldModifier的制作中显示的顺序一致。
对于字段,所述生产按此顺序列出修饰符:
@Annotation
public
protected
private
static
final
transient
volatile
对于方法:
@Annotation
public
protected
private
abstract
static
final
synchronized
native
{{ 1}}
答案 1 :(得分:36)
他们是一样的。修饰符的顺序并不重要。请注意,相同的规则适用于所有上下文,其中修饰符用于Java。
但是,大多数Java样式指南建议/强制使用修饰符的相同特定顺序。在这种情况下,它是public static final
。
答案 2 :(得分:18)
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 :(得分:8)
他们是一样的,
private final static String API_RTN_ERROR = "1";
private static final String API_RTN_ERROR= "1";
答案 4 :(得分:4)
它们之间有什么区别或它们是否相同?
如果你在谈论改变静态和最终的顺序,那么是的,它们是相同的。
对私人或公众而言有所不同吗?
不,您可以在私人和公共场合使用任何订单。差别是私有变量不能直接在课外访问。
答案 5 :(得分:0)
答案 6 :(得分:0)
这只是人们习惯于保持编码风格一致的一种惯例或惯例。它提高了可读性。 所以首选的写法是
private static final <Type> <variable_name> = <value>;