Maison  >  Article  >  Java  >  Une brève introduction à la différence entre statique et non statique en Java

Une brève introduction à la différence entre statique et non statique en Java

黄舟
黄舟original
2017-10-10 10:22:291500parcourir

Cet article présente principalement le contenu statique et non statique en Java. L'éditeur pense que c'est très bien. Je le partage avec tous les amis qui en ont besoin peuvent s'y référer.

À propos de la différence entre les variables statiques et non statiques

1 Les variables statiques modifiées sont appelées variables de classe ou variables globales ou variables membres, qui sont chargées. lorsque la classe est chargée, les variables membres sont initialisées et associées à la classe. Tant que la classe existe, la variable statique existe. Les variables membres modifiées non statiques divisent l'espace de stockage lorsque le nouvel objet sort et sont liées à l'objet spécifique. Cette variable membre n'appartient qu'à l'objet actuel.

2. Les variables statiques modifiées sont chargées avant la méthode principale dans la zone de partage de données-------zone de méthode dans la mémoire, tandis que les variables non statiques sont chargées avant la méthode principale. , les variables doivent être créées avant d'être chargées dans la mémoire tas.

3. Une variable statique sépare un espace de stockage et n'est pas liée à un objet spécifique. L'espace de stockage est partagé par chaque objet de la classe. Les valeurs des variables statiques sont chargées une fois dans la zone de méthode, tandis que les variables non statiques sont chargées plusieurs fois lors de la création d'objets. Une copie sera effectuée à chaque création.

4. Lorsqu'un objet fait référence à une variable membre, il est appelé directement via le nom de la classe. Nom de la variable Lorsqu'un objet fait référence à une variable d'instance, il ne peut être appelé que via le nom de l'objet. .Nom de la variable.

5. Lorsque vous appelez des variables membres dans une classe, appelez-la directement ou appelez-la sous la forme de nom de classe.nom de variable, utilisez ceci ou appelez-la directement.

À propos de la différence entre les méthodes statiques et les méthodes non statiques

1 La méthode statique modifiée est également la même que la méthode statique. Elle est chargée dans la zone méthode avant la méthode principale pour une utilisation partagée.

2. Le mot-clé this ou super ne peut pas être utilisé dans les méthodes statiques, car les méthodes statiques sont des méthodes qui ont été chargées avant la création de l'objet et sont des méthodes de la classe, et this et super pointer sont des objets de cette classe ou des objets de la classe parent, les méthodes non statiques appartiennent aux objets, et this et super peuvent être utilisés dans les méthodes.

3. La méthode statique peut être appelée en utilisant le nom de l'objet.méthode ou le nom de la classe.nom de la méthode. Les méthodes non statiques ne peuvent être appelées qu'après la création de l'objet.

4. La méthode statique est chargée une fois et partagée par tous les objets. Les méthodes non statiques sont copiées autant de fois qu'il y a d'objets, et chaque objet ne peut appeler que sa propre méthode de copie.

5. Lorsqu'un objet appelle des méthodes non statiques, les problèmes de sécurité des threads ne sont pas pris en compte, mais lors de l'appel de méthodes statiques, les problèmes de sécurité doivent être pris en compte. Parce qu'il n'existe qu'une seule copie de la méthode statique. Les méthodes de l'objet ont leurs propres méthodes.

6. Dans la même classe, les méthodes statiques ne peuvent accéder qu'aux membres statiques de la classe. Les méthodes non statiques peuvent accéder aux méthodes non statiques (appelez en utilisant le nom de la classe ou créez un objet de cette classe).

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn