J'ai trouvé un code où il a déclaré le code comme
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";
Quelle est la différence entre eux ou sont-ils les mêmes? Ou est-ce différent pour private
ou public
?
Aucune différence du tout. Selon 8.3.1 - Classes - Modificateurs de champ de Java ,
Si deux ou plusieurs modificateurs de champ (distincts) apparaissent dans une déclaration de champ, il est d'usage, bien que cela ne soit pas obligatoire, qu'ils apparaissent dans l'ordre conforme à celui indiqué ci-dessus dans la production de FieldModifier.
Pour les champs, ladite production liste les modificateurs dans cet ordre:
@Annotation
public
protected
private
static
final
transient
volatile
Et pour les méthodes:
@Annotation
public
protected
private
abstract
static
final
synchronized
native
strictfp
Ce sont les mêmes. L'ordre des modificateurs n'est pas significatif. Et notez que la même règle s'applique dans les contextes all où les modificateurs sont utilisés en Java.
Cependant, la plupart des Java recommandent/prescrivent le même ordre spécifique pour les modificateurs. Dans ce cas, il s'agit de 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";
même tous les points précédents sont identiques, la position des trois premiers est interchangeable.
Ils sont pareils,
private final static String API_RTN_ERROR = "1";
private static final String API_RTN_ERROR= "1";
Quelle est la différence entre eux ou sont-ils les mêmes?
Si vous parlez de changer l'ordre des statiques et des finales, alors oui, elles sont identiques.
est-ce différent pour privé ou public?
Non, vous pouvez utiliser n'importe quel ordre en privé et en public. La seule différence est que les variables privées ne seront pas directement accessibles en dehors de la classe.
c'est pareil, bien sûr. cela dépend seulement de vos habitudes et de vos préférences :-). J'utilise aussi l'ordre final public statique pour les membres et les méthodes