Objets java
Peguinette
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
rzedinho Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
rzedinho Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
J'ai honte !
J'ai une question tres basique, mais que je me pose depuis un baille :
Quelle est la différence entre :
String maChaine;
et
String maChaine = new String();
Je sais tout de meme que lorsque j'utilise le constructeur, cela revient à instancier mon objet. Mais que se passe-t-il (en memoire) si je ne l'instancie jamais et que j'utilise mon objet comme un simple type ?
Est-ce que cela signifie que je place le contenue n'importe où en memoire ?
merci de m'eclairer.
J'ai une question tres basique, mais que je me pose depuis un baille :
Quelle est la différence entre :
String maChaine;
et
String maChaine = new String();
Je sais tout de meme que lorsque j'utilise le constructeur, cela revient à instancier mon objet. Mais que se passe-t-il (en memoire) si je ne l'instancie jamais et que j'utilise mon objet comme un simple type ?
Est-ce que cela signifie que je place le contenue n'importe où en memoire ?
merci de m'eclairer.
A voir également:
- Objets java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Site pour vendre des objets d'occasion - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
En fait ce qui se passe quand tu ecris String maChaine, c qu'il prend le constructeur par défaut(sans parametres), ce qui fait que s'il n'y a pas de constructeur declare sans parametres, il prend un costructeur sans parametres de sa super classe et ainsi de suite.
Lorsque tu ecris String maChaine = new String(), s'il n'y pas de constructeur sans parametre il fait pareil, sinon il appelle ce constructeur où il peut y avoir des affectations(valeurs par defaut), ce qui ne peut etre fait de facon aussi specifique dans un constructeur de super classe.
Je sais c un peu lourd comme explication, mais bon j'espere que ca t'aide tt de meme surtt pour comprendre l'heritage et l'appel de methodes en fin de compte.
Lorsque tu ecris String maChaine = new String(), s'il n'y pas de constructeur sans parametre il fait pareil, sinon il appelle ce constructeur où il peut y avoir des affectations(valeurs par defaut), ce qui ne peut etre fait de facon aussi specifique dans un constructeur de super classe.
Je sais c un peu lourd comme explication, mais bon j'espere que ca t'aide tt de meme surtt pour comprendre l'heritage et l'appel de methodes en fin de compte.
Si j'ai bien compris, dans tous les cas mon objet est instancié et je ne risque pas d'avoir de probleme "basiques".
Je suis plus habituée au C donc je me demandais si je pouvais avoir des problemes semblables à des pointeurs que l'on n'a pas alloués. Mais visiblement non.
merci
Je serais heureux de t'aider de prochaines fois. Au fait j'ai laisse un message sur les bases multidimensionnelles pour Data Warehouse, si tu as le moindre petit elemnet d'info fais le moi parvenir.
Merci
Rzedinho