MBM*_*BMJ 141 java static final
我找到了一个声明代码的代码
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";
Run Code Online (Sandbox Code Playgroud)
它们之间有什么区别或它们是一样的?或者它的不同private
或public
?
Ger*_*gyi 210
没有任何区别.根据 8.3.1 - 类 - Java语言规范的字段修饰符,
如果两个或多个(不同的)字段修饰符出现在字段声明中,则通常(尽管不是必需的)它们按照与上面在FieldModifier的制作中显示的顺序一致的顺序出现.
对于字段,所述生产按此顺序列出修饰符:
@Annotation
public
protected
private
static
final
transient
volatile
对于方法:
@Annotation
public
protected
private
abstract
static
final
synchronized
native
strictfp
Ste*_*n C 39
他们是一样的.修饰符的顺序并不重要.请注意,相同的规则适用于Java中使用修饰符的所有上下文.
但是,大多数Java样式指南建议/强制使用修饰符的相同特定顺序.在这种情况下,它是public static final
.
RTA*_*RTA 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";
Run Code Online (Sandbox Code Playgroud)
即使以上所有都是相同的,前三个的位置是可互换的.
小智 11
逻辑上没有区别,也没有技术影响。
唯一的问题是,如果您按此顺序使用,sonarqube 会报告 Code Smell
private final static <Type> <variable_name> = <value>;
Run Code Online (Sandbox Code Playgroud)
因此建议使用:
private static final <Type> <variable_name> = <value>;
Run Code Online (Sandbox Code Playgroud)
Java 语言规范建议按以下顺序列出修饰符:
请注意,遵循此约定没有技术影响,但会降低代码的可读性,因为大多数开发人员都习惯标准顺序。
他们是一样的,
private final static String API_RTN_ERROR = "1";
private static final String API_RTN_ERROR= "1";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
70090 次 |
最近记录: |