11.2 Rappel mot clé static
Donc, dans la vidéo précédente, nous avons discuté de certaines conventions de codage dont les classes, packages… Et dans cette vidéo, nous allons voir ce quoi les packages. La raison la plus importante, qui justifie la notion de package, est la gestion des conflits de noms. Effectivement un projet Java utilise souvent plusieurs librairies de codes distinctes Si ces deux librairies proposent toutes les deux une classe avec le même nom, comment contrôler laquelle vous souhaitez utiliser ? Quelques raisons d'utiliser les packages: C'est que cela permet aux programmeurs de déterminer plus facilement que les classes sont en fait lié Une autre bonne raison et qu'il est facile de savoir où trouver les classes et interfaces qui peuvent fournir les fonctions fournies par le package.. La gestion des conflits de noms Ça permet d'éviter. les conflits entre les noms Donc, nous allons créer un package, c'est presque la même chose que de créer une classe sauf que, nous allons choisir package Je vais juste l'appeler p1. Maintenant nous avons notre package. donc je peux créer un nouveau fichier ici. Alors je vais créer une nouvelle classe Java Nous allons juste l'appeler maclasse. Ici comme nous pouvons le voir java par défaut a mis ce package p1 là-haut Il a importé. Donc, si je voulais utiliser maClasse à l'intérieur de la classe main. Je vais en fait devoir importer mon package. Si je veux l'utiliser comme si je voulais créer une instance de maClasse. Alors je ne peux pas simplement faire ma classe. maclasse est égale à new ma classe je reçois une erreur ici et cela dit que ma classe ne peut pas être résolue en type, afin d'utiliser cette classe car elle se trouve dans un package. Je dois dire à java où se trouve cette classe parce que Java ne sait pas ou elle se trouve. Donc, ce que nous pouvons faire est de venir ici et importer notre package donc je peux juste écrire import p1 point ma classe Cela indique à java où sont mes classes et que je veux utiliser Maclasse qui se trouve à l'intérieur de mon package. Mais nous pouvons aussi. Cliquez sur notre instance Et faire une import. Donc, ça va importer directement notre package c'était tout pour cette vidéo, j'éspère que vous compris à peux près c'est quoi le package et pourquoi il faut l'utiliser. Aller ! je vous dis à la prochaine
En résumé
Cette leçon fait un rappel complet du mot-clé static en Java. Elle explique que les membres static appartiennent à la classe elle-même et non à ses instances, et qu'une seule copie existe en mémoire partagée par toutes les instances. L'avantage principal est l'accès direct via le nom de la classe (ex: StaticTest.nom) sans avoir besoin de créer un objet.
Points clés
- Le mot-clé static indique qu'un membre appartient à la classe, pas à l'instance
- Une seule instance de chaque membre static est créée en mémoire et partagée par toutes les instances de la classe
- Les variables static peuvent être accédées directement via le nom de la classe, sans instanciation obligatoire
- L'allocation mémoire pour une variable static ne se fait qu'une seule fois, au chargement de la classe
- Contrairement aux variables d'instance, les variables static ne nécessitent pas de créer un nouvel objet pour y accéder
Questions fréquentes
Quelle est la différence entre une variable static et une variable d'instance ?
Une variable static appartient à la classe et existe une seule fois en mémoire, partagée par toutes les instances. Une variable d'instance appartient à chaque objet individuel et a une copie distincte pour chaque instance créée.
Comment accéder à une variable static sans créer un objet ?
On utilise le nom de la classe suivi d'un point et du nom de la variable, par exemple StaticTest.nom, plutôt que objet.nom.
Quel est l'avantage d'utiliser des variables static ?
L'avantage principal est la mémoire : une variable static est allouée une seule fois et partagée entre tous les objets, ce qui économise les ressources et permet l'accès sans instanciation de la classe.