Разница между окончательным статическим и статическим финалом
Я нашел код, где он объявил код, как
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?
6 ответов:
никакой разницы. В соответствии с 8.3.1 - классы-модификаторы полей спецификации языка Java,
если два или более (различных) модификатора поля появляются в объявлении поля, обычно, хотя и не требуется, чтобы они появлялись в порядке, совместимом с показанным выше в производстве для FieldModifier.
для полей указанная продукция перечисляет модификаторы в следующем порядке:
@Annotationpublicprotectedprivatestaticfinaltransientvolatileи для методов:
@Annotationpublicprotectedprivateabstractstaticfinalsynchronizednativestrictfp
они одинаковы. Порядок модификаторов не является существенным. И обратите внимание, что то же самое правило применяется в все контексты, где модификаторы используются в 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 intercangeable.
они же,
private final static String API_RTN_ERROR = "1"; private static final String API_RTN_ERROR= "1";
в чем разница между ними или они одинаковы?
Если вы говорите об изменении порядка static и Final, то да, они одинаковы.
это отличается для частных или общественных?
нет, вы можете использовать любой заказ в частном и публичном порядке. Просто разница в том, что частные переменные не будут доступны вне класса напрямую.
Это то же самое, конечно. это зависит только от ваших привычек и предпочтений :-). Я использую публичный статический окончательный порядок для членов и методов тоже
Comments