Initialisation par défaut en java
J'ai une confusion au sujet de l'initialisation d'une variable en Java. Ce que je comprends, les variables de classe obtenez de l'initialisation par défaut, tandis que les variables locales ne sont pas initialisées par défaut. Cependant, si je crée un tableau à l'intérieur d'une méthode à l'aide du mot clé new, il est initialisé par défaut. Est-ce le cas de tous les objets? L'utilisation du mot clé new initialiser un objet qu'il s'agisse d'une catégorie de variable ou variable locale?
Avez-vous essayer de voir ce qui se passe?
Oui, j'ai essayé avec d'autres objets et c'est ce qui semble se produire, c'est pourquoi j'ai posé la question
Oui, j'ai essayé avec d'autres objets et c'est ce qui semble se produire, c'est pourquoi j'ai posé la question
OriginalL'auteur B M | 2013-03-01
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez
new
mot-clé. cela signifie que vous avez initialisé votre Objet. n'a pas d'importance si elle le déclare au niveau de la méthode d'instance ou de niveau.vous êtes les bienvenus 🙂
OriginalL'auteur PermGenError
De Java Langage De Spécification
Pour le type d'octets, la valeur par défaut est zéro, c'est la valeur de
(byte)0.
De type court, la valeur par défaut est zéro, c'est la valeur de (court)0.
Pour le type int, la valeur par défaut est zéro, qui est, 0.
De type long, la valeur par défaut est zéro, qui est, 0L.
Pour le type float, la valeur par défaut est positive, zéro, qui est, 0.0 f.
Pour le type double, la valeur par défaut est positive, zéro, qui est, 0.0 d.
Pour le type char, la valeur par défaut est le caractère nul, c'est-à, '\u0000'.
Pour le type boolean, la valeur par défaut est false.
Pour tous les types de référence (§4.3), la valeur par défaut est null
Merci je sais ce que les valeurs sont initialisées lors de leur initialisation. J'étais juste ne sais pas dans quelles situations les objets sont par défaut initialisé.
Ce doit être la accepté de répondre.
OriginalL'auteur iTech
Après enquête, les primitives de toujours initialiser à la valeur par défaut uniquement lorsqu'ils sont membres de variables, les variables locales lèvera une erreur de compilation si elles ne sont pas initialisées.
Si vous créez un tableau de primitives, ils seront tous initialisés par défaut (ce qui est vrai pour à la fois locale et membre des tableaux), un tableau d'objets, vous aurez besoin d'instancier chacun.
oui, les compilateurs va cracher "cette variable peut ne pas avoir été initialisé" messages non initialisés locales primitives
vraiment? Je n'ai pas de compilateur java en face de moi pour la tester, mais j'ai pensé primitives serait toujours donné des valeurs par défaut lors de sa déclaration, peu importe où.
J'ai fait un petit test supplémentaire sur ce sujet, tout ce que j'ai dit est vrai sauf que je n'étais pas au courant de l'erreur de compilation lors de l'utilisation d'un non initialisé la variable locale. Édité ma réponse.
je ne suis pas sûr si c'est un avertissement ou une erreur (certaines de ces frais varient d'un IDE IDE), mais j'ai eu qui se produisent dans les méthodes quand j'ai essayé de faire de int i; ou quelque chose comme ça
OriginalL'auteur Kevin DiTraglia