Разница между окончательным статическим и статическим финалом



Я нашел код, где он объявил код, как



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?

558   6  

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

    Ничего не найдено.