Ich habe einen Code gefunden, in dem Code wie deklariert wurde
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";
Was ist der Unterschied zwischen ihnen oder sind sie gleich? Oder unterscheidet es sich für private oder public?
Wenn sie unterschiedlich sind, dann gebe ich Java komplett auf.
Wenn zwei oder mehr (unterschiedliche) Feldmodifikatoren in einer Felddeklaration erscheinen, ist es üblich, aber nicht erforderlich, dass sie in der Reihenfolge erscheinen, die der oben gezeigten in der Produktion für FieldModifier entspricht.
Für Felder listet die besagte Produktion die Modifikatoren in dieser Reihenfolge auf:
Als Referenz dient die Bestellung aus dem Link abstract static final.
– Farbbote
24. Februar 2014 um 2:08 Uhr
Sie sind gleich. Die Reihenfolge der Modifikatoren ist nicht signifikant. Und beachten Sie, dass die gleiche Regel in gilt alle Kontexte, in denen Modifikatoren in Java verwendet werden.
Die meisten Java-Styleguides empfehlen/schreiben jedoch dieselbe spezifische Reihenfolge für die Modifikatoren vor. In diesem Fall ist es 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";
Auch wenn alle oben genannten gleich sind, ist die Position der ersten drei austauschbar.
Es sind zwar alle austauschbar, aber andere Code-Leser werden sich echt ärgern. Bleib lieber bei einer Bestellung
– runzhi xiao
27. Dezember 2021 um 9:10 Uhr
Sie sind gleich,
private final static String API_RTN_ERROR = "1";
private static final String API_RTN_ERROR= "1";
Kein logischer Unterschied und keine technischen Auswirkungen.
Das einzige Problem ist, dass sonarqube Code Smell meldet, wenn Sie es in dieser Reihenfolge verwenden
private final static <Type> <variable_name> = <value>;
Daher ist die Empfehlung zu verwenden:
private static final <Type> <variable_name> = <value>;
Die Java Language Specification empfiehlt, Modifikatoren in der folgenden Reihenfolge aufzulisten:
Anmerkungen
Öffentlichkeit
geschützt
Privatgelände
abstrakt
statisch
Finale
vorübergehend
flüchtig
synchronisiert
einheimisch
strengfp
Beachten Sie, dass das Befolgen dieser Konvention keine technischen Auswirkungen hat, aber die Lesbarkeit des Codes verringert, da die meisten Entwickler an die Standardreihenfolge gewöhnt sind.
Harry Freude
Was ist der Unterschied zwischen ihnen oder sind sie gleich?
Wenn Sie über die Änderung der Reihenfolge von Static und Final sprechen, dann ja, sie sind gleich.
Unterscheidet es sich für privat oder öffentlich?
Nein, Sie können jede Bestellung privat und öffentlich verwenden. Der einzige Unterschied besteht darin, dass auf private Variablen außerhalb der Klasse nicht direkt zugegriffen werden kann.
Vishal Akkalkote
Dies ist nur eine Konvention oder eine Praxis, die Menschen befolgen, um den Codierungsstil konsistent zu halten. Es verbessert die Lesbarkeit. so bevorzugte Schreibweise ist dies
private static final <Type> <variable_name> = <value>;
13505100cookie-checkUnterschied zwischen Endstatik und Statikfinaleyes
Wenn sie unterschiedlich sind, dann gebe ich Java komplett auf.
– Alex Lockwood
27. Juni 2012 um 4:48 Uhr