CodeGym /Cours /Syntaxe Java /Création d'objets

Création d'objets

Syntaxe Java
Niveau 2 , Leçon 3
Disponible
Création d'objets - 1

« Coucou, revoilà ta prof préférée. Tu progresses si vite que j'ai décidé de te parler des objets et de la façon de travailler avec. »

« Pour créer un objet, tu dois saisir le mot-clé 'new', suivi du nom du type (le nom de la classe). Par exemple, supposons que nous avons une classe nommée 'Chat' : »

Code Description
Cat cat;
Déclare une variable de référence Chat nommée chat. La valeur de la variable chat est null.
new Cat();
Crée un objet Chat.
Cat cat = new Cat();
Crée une variable de référence de Chat nommée chat.
Crée un nouvel objet Chat. Affecte une référence à l'objet nouvellement créé à la variable chat.
Cat kitty = new Cat();
Cat smokey = new Cat();
Deux objets sont créés. Leurs références sont affectées à deux variables différentes.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Deux objets sont créés. Leurs références sont affectées à deux variables différentes.

Nous définissons ensuite la variable felix sur une référence à l'objet référencé par la variable minou. Les deux variables font maintenant référence au premier objet créé.
(Comme le second objet n'est plus référencé nulle part, il sera récupéré par le ramasse-miettes plus tard)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Un objet Chat est créé, et nous affectons une référence vers lui à la première variable (minou). La deuxième variable (felix) stocke une référence vide (null).

Les deux variables font référence au même objet.

Maintenant, seul felix fait référence à un objet, et pas minou.

« Que se passerait-il si nous avions créé un objet et que nous n'avions pas enregistré sa référence dans une variable ? »

« Si nous créons un objet sans l'affecter à une variable, la machine Java le crée puis le déclare inutile. Après un certain temps, l'objet est supprimé par le ramasse-miettes. »

« Comment je fais pour jeter un objet dont je n'ai plus besoin ? »

« Tu n'as pas besoin de le faire. Dès qu'aucune variable ne référence un objet, il est marqué pour destruction par la machine Java la prochaine fois qu'elle passe le ramasse-miettes. »

Tant qu'il y a au moins une référence à un objet, il est considéré comme actif et n'est pas détruit. Si tu veux te débarrasser d'un objet avant, tu peux éliminer toutes ses références en affectant null à toutes les variables qui y font référence.

« Je vois. Par rapport aux deux ou trois dernières leçons, ça m'a l'air plutôt simple. »

« Diego a passé toute la nuit à te trouver des missions. Il a fait cet effort tout spécialement pour toi. Il a un gros sens de l'humour, tu sais ? »

Commentaires (5)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Anonymous #11505206 niveau 12, Brussels, Belgium
24 avril 2024
je comprends RIEN a ce systeme de new
leochok niveau 4, Wambrechies, France
17 octobre 2024
Chat felix = new Chat(); Tu sais que tu vas créer un objet chat. Donc tu donnes le nom de l'objet : Chat Ensuite tu lui assignes son appelation felix (ou chat) Donc ton objet + sa désignation = new objet(); (tu dis à Java de créer cet objet)
9 décembre 2021
Savez-vous comment récupérer la matière noire du dernier exercice "Saisie de code" ? Je recopie bien le code mais n'arrive pas à le valider.... Merci d'avance!
John Squirrels niveau 41, San Francisco, Poland
11 décembre 2021
Vous avez probablement fait une petite erreur quelque part
Francisco Fernandez niveau 5, Montreuil, France
26 juin 2020
Trop simple