Références, égalité, identité
Une variable d'objet est une référence : null, alias, identité (==) contre égalité (equals), equals redéfinie, copie superficielle ou profonde, en Java.
- 27 cartes
- 4 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Comprendre
Quelques cartes du deck
Référence : de quoi s'agit-il ?
Voir la réponse
Valeur stockée dans une variable d'objet, qui indique où se trouve l'objet en mémoire.
Point b = a;recopie la référence, pas l'objet :aetbdésignent ensuite le même point.Que valent
a.xetc.xà la fin de ce programme ?
```java
Point a = new Point(1, 2);
Point b = a;
Point c = new Point(1, 2);
b.x = 5;`5et11et15et51et5
Voir la réponse
5et1best un alias dea: le même objet, donca.xpasse à 5.cest un second objet créé avec les mêmes valeurs : il ne bouge pas.Une variable de type objet ne contient pas l'objet lui-même mais une … vers lui.
Voir la réponse
Une variable de type objet ne contient pas l'objet lui-même mais une référence vers lui.
Les types de base (
int,boolean…) stockent leur valeur directement ; tous les autres passent par une référence.null : de quoi s'agit-il ?
Voir la réponse
Valeur de référence qui ne désigne aucun objet.
Lire un attribut ou appeler une méthode à travers
nulllèveNullPointerException.Pourquoi
a.equals(c)est-elle fausse quandPointn'a pas redéfiniequals, même siaetcont les mêmes coordonnées ?equalsne s'applique qu'aux chaînes de caractères- L'
equalsd'Objectcompare les références, comme== - Les coordonnées sont des
int, queequalsne sait pas lire - Deux objets créés séparément ne sont jamais égaux en Java
Voir la réponse
L'
equalsd'Objectcompare les références, comme==La classe doit dire ce qu'est l'égalité de deux points. Une fois
equals(Object o)redéfinie pour comparerxety,a.equals(c)devient vraie, alors quea == creste faux.