Considérons un champ de chaîne Java nommé x
. Quelle sera la valeur initiale de x
lorsqu’un object est créé pour la classe x;
Je sais que pour les variables int
, la valeur par défaut est 0
, à mesure que les instances sont créées. Mais que devient Ssortingng
?
Il est initialisé à null si vous ne faites rien, comme tous les types de référence.
Ça dépend. Est-ce juste une variable (dans une méthode)? Ou un membre de la classe?
Si c’est juste une variable, vous obtiendrez une erreur indiquant qu’aucune valeur n’a été définie lorsque vous tentez de la lire sans lui atsortingbuer au préalable une valeur.
S’il s’agit d’un membre de la classe, il sera initialisé par la VM.
La réponse est – cela dépend.
La variable est-elle une variable d’instance / variable de classe? Voir ceci pour plus de détails.
La liste des valeurs par défaut peut être trouvée ici .
Il existe trois types de variables:
Les valeurs par défaut pour l’ instance et les variables statiques sont identiques et dépendent du type:
Un tableau est un object . Ainsi, une variable d’instance de tableau déclarée mais non explicitement initialisée aura une valeur nulle . Si vous déclarez un tableau int [] comme variable d’instance, il aura la valeur null.
Une fois le tableau créé, tous ses éléments sont associés à la valeur de type par défaut. Par exemple:
private boolean[] list; // default value is null private Boolean[] list; // default value is null
une fois est initialisé:
private boolean[] list = new boolean[10]; // all ten elements are assigned to false private Boolean[] list = new Boolean[10]; // all ten elements are assigned to null (default Object/Boolean value)
Tout object s’il est initialisé, sa valeur defeault est nulle, sauf si nous fournissons explicitement une valeur par défaut.