Maison >Java >javaDidacticiel >Pourquoi est-ce que j'obtiens des erreurs « Impossible de faire une référence statique à un champ non statique » en Java ?
Java : Résolution des erreurs « Impossible de faire une référence statique à un champ non statique »
Énoncé du problème :
Lors de la tentative de compilation d'un programme Java, une erreur se produit : "Impossible de faire une référence statique au champ non statique " ou "Impossible de faire une référence statique à la méthode non statique ."
Cause :
Ces erreurs surviennent lorsque des méthodes statiques tentent d'accéder directement à des champs ou à des méthodes non statiques. Les champs et méthodes non statiques appartiennent à des instances de classe spécifiques et ne peuvent pas être référencés dans des contextes statiques.
Résolution :
Pour résoudre le problème, créez une instance de la classe puis invoquez des méthodes sur cette instance :
<code class="java">public class Cerchio { float r; float area; float cfr; final double pi = 3.14; public static void main(String[] args) { System.out.println("CIRCLE PROGRAM\n"); Cerchio cerchio = new Cerchio(); cerchio.r = 5; cerchio.c_cfr(); // Invoke method on the instance 'cerchio' cerchio.c_area(); // Invoke method on the instance 'cerchio' System.out.println("The cir is: " + cerchio.cfr); System.out.println("The area is: " + cerchio.area); } float c_cfr() { cfr = (float) (2 * pi * r); // Casting remains the same return cfr; } float c_area() { area = (float) (pi * (r * r)); return area; } }</code>
Remarques supplémentaires :
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!