Maison > Java > javaDidacticiel > Pourquoi ne puis-je pas accéder à une variable non statique à partir d'une méthode statique en Java ?

Pourquoi ne puis-je pas accéder à une variable non statique à partir d'une méthode statique en Java ?

Barbara Streisand
Libérer: 2024-12-30 18:54:09
original
836 Les gens l'ont consulté

Why Can't I Access a Non-Static Variable from a Static Method in Java?

Erreur : la variable non statique ne peut pas être référencée à partir d'un contexte statique

Dans votre code, vous déclarez un nombre de variables de classe et tentez de accédez-y dans une méthode statique principale. Cette erreur se produit car les variables déclarées dans un contexte non statique ne peuvent pas être directement référencées à partir d'un contexte statique.

Comprendre les contextes statiques et non statiques :

  • Contexte statique : Fait référence à une classe elle-même, indépendante de toute instance spécifique. Les méthodes et variables statiques appartiennent à la classe, et non à des instances individuelles.
  • Contexte non statique : Fait référence à une instance spécifique d'une classe. Les méthodes et variables non statiques appartiennent à un objet et varient en fonction de l'instance.

Dans votre exemple, count est une variable non statique, ce qui signifie qu'elle est spécifique à chaque instance de la classe MyProgram. Pour corriger l'erreur, vous devez créer une instance de MyProgram et un nombre d'accès dans sa méthode non statique.

Solution :

  1. Créer une instance de la classe MyProgram :
MyProgram obj = new MyProgram();
Copier après la connexion
  1. Compte d'accès dans un fichier non statique method :
public void run() {
    System.out.println(count);
}
Copier après la connexion
  1. Appelez la méthode run à partir de la méthode principale :
public static void main(String[] args) {
    MyProgram obj = new MyProgram();
    obj.run();
}
Copier après la connexion

En suivant ces étapes, vous vous assurez que la méthode non statique le nombre de variables est accessible dans un contexte non statique.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal