Home > Java > javaTutorial > body text

Why Am I Getting \'Cannot Make a Static Reference to Non-Static Field\' Errors in Java?

Susan Sarandon
Release: 2024-11-02 01:18:30
Original
944 people have browsed it

Why Am I Getting

Java: Resolution for "Cannot Make a Static Reference to Non-Static Field" Errors

Problem Statement:

When attempting to compile a Java program, an error occurs: "Cannot make a static reference to the non-static field " or "Cannot make a static reference to the non-static method ."

Cause:

These errors arise when static methods attempt to access non-static fields or methods directly. Non-static fields and methods belong to specific class instances and cannot be referenced within static contexts.

Resolution:

To resolve the issue, create an instance of the class and then invoke methods on that 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>
Copy after login

Additional Notes:

  • Consider using getters and setters for field access to enforce encapsulation and avoid direct field access.
  • Ensure your code is properly indented for readability and improved understanding.

The above is the detailed content of Why Am I Getting \'Cannot Make a Static Reference to Non-Static Field\' Errors in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!