Statique contre instance
Ce qui appartient à la classe et ce qui appartient à chaque objet : attribut de classe partagé, méthode statique sans this, constante, appel par le nom de la classe et erreur de contexte statique, en Java.
- 23 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
Membre statique : de quoi s'agit-il ?
Voir la réponse
Attribut ou méthode, déclaré avec static, qui appartient à la classe elle-même et non à un objet particulier.
Il existe même si aucun objet n'a été créé : on l'atteint par le nom de la classe, par exemple
Math.max(3, 8).Quelles valeurs ce programme affiche-t-il ?
```java
class Compte {
static int nb = 0;
int numero;
Compte() {
nb++;
numero = nb;
}
}
Compte a = new Compte();
Compte b = new Compte();
Compte c = new Compte();
System.out.println(Compte.nb + " " + a.numero + " " + b.numero + " " + c.numero);`3 1 2 33 3 3 31 1 1 13 0 0 0
Voir la réponse
3 1 2 3nbest partagé : il vaut 1, 2 puis 3 au fil des créations, et chaque constructeur en copie la valeur du moment dans lenumerode son objet, qui est propre à chacun. Les numéros restent donc 1, 2 et 3.Un attribut … n'existe qu'en un seul exemplaire, partagé par … les objets de la classe.
Voir la réponse
Un attribut statique n'existe qu'en un seul exemplaire, partagé par tous les objets de la classe.
À l'inverse, un attribut d'instance est recopié dans chaque objet créé.
Membre d'instance : de quoi s'agit-il ?
Voir la réponse
Attribut ou méthode, déclaré sans static, dont chaque objet possède sa version et qui s'utilise sur un objet précis.
rayond'un cercle n'a de sens que pour un cercle donné : il faut un objet pour le lire.Pourquoi peut-on écrire
Math.max(3, 8)sans avoir créé deMathavecnew?- Java crée automatiquement un objet
Mathcaché au démarrage du programme maxest statique : elle appartient à la classeMathest un type de base du langage, pas une classemaxn'a pas besoin d'arguments pour s'exécuter
Voir la réponse
maxest statique : elle appartient à la classeUne méthode qui ne dépend d'aucun état d'objet peut être statique :
maxne se sert que de ses paramètres, comme les autres méthodes utilitaires deMath.- Java crée automatiquement un objet