Maison Java javaDidacticiel Pourquoi est-ce que j'obtiens « Impossible de faire une référence statique à un champ/une méthode non statique » en Java ?

Pourquoi est-ce que j'obtiens « Impossible de faire une référence statique à un champ/une méthode non statique » en Java ?

Oct 30, 2024 am 08:07 AM

Why am I getting

Comprendre « Impossible de faire une référence statique à un champ/une méthode non statique » en Java

En Java, rencontrer l'erreur « Impossible de créer une référence statique au champ non statique" ou "Impossible de faire une référence statique à la méthode non statique" indique que certaines actions sont restreintes en raison de l'interaction entre les éléments statiques et non statiques dans votre code.

Cause de l'erreur

Cette erreur se produit lorsque vous tentez d'accéder à des champs ou à des méthodes d'instance (non statiques) dans un contexte statique, par exemple dans une méthode statique. Les variables d'instance sont associées à des objets spécifiques d'une classe, tandis que les variables et méthodes statiques appartiennent à la classe elle-même et ne nécessitent pas d'instances d'objet.

Solution : Créer une instance

Pour résoudre l'erreur, vous devez créer une instance de la classe avant d'accéder aux variables d'instance ou d'appeler des méthodes d'instance. En effet, les variables et méthodes d'instance ne sont pas accessibles directement à partir d'un contexte statique.

Par exemple, dans l'extrait de code fourni, la méthode statique main tente également d'accéder aux variables d'instance r, cfr et Area. comme méthodes d'instance c_cfr et c_area. Pour résoudre ce problème, créez une instance de la classe Cerchio dans la méthode principale, puis accédez aux variables et méthodes d'instance via la référence d'objet :

<code class="java">public static void main(String[] args) {
    Cerchio cerchio = new Cerchio();
    cerchio.r = 5;
    cerchio.c_cfr();
    cerchio.c_area();
    System.out.println("The cir is: " + cerchio.cfr);
    System.out.println("The area is: " + cerchio.area);
}</code>
Copier après la connexion

Notes supplémentaires

  • Les variables d'instance doivent généralement être déclarées comme privées et accessibles via les méthodes getter et setter pour l'encapsulation.
  • Évitez d'accéder directement aux variables de classe ; utilisez plutôt des constantes de classe ou des méthodes statiques pour y accéder.
  • Une indentation et une organisation du code appropriées peuvent améliorer la lisibilité et éviter de telles erreurs à l'avenir.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)