[JAVA] À propos de statique
Après le chargement, le fichier de classe est séparé en la partie statique et les autres parties, et chacune est enregistrée dans une zone de mémoire différente.
![static.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423589/fffa79b4-71b8-1a39-4c00-b38d17f56b70.png )
Les membres qualifiés de statique sont placés dans la zone statique et les autres définitions sont placées dans la zone méta-espace (mémoire native).
- Lorsqu'une instance est créée, ** la zone d'instance est sécurisée dans la zone de tas selon la définition de classe dans la zone métaspace **
- ** Les champs statiques peuvent être utilisés sans créer d'instance **
- Pour accéder à un champ statique, écrivez "nom de classe.nom de champ". Ou créez une instance et accédez-y à l'aide de cette référence.
- Les membres statiques peuvent être utilisés sans instance, tandis que les membres non statiques ne peuvent pas être utilisés sans instance. Par conséquent, ** les méthodes statiques ne peuvent pas accéder aux membres non statiques **
- À l'inverse, il est possible d'accéder aux membres statiques à partir de méthodes non statiques
Les références
Capture approfondie de la collecte des problèmes Java SE11 Silver