Compile Error: Non-static Method Referenced from Static Context

error: non-static method process() cannot be referenced from a static context

Quick Answer

You are calling an instance method from a static method (like main) without creating an object first. Create an instance or make the method static.

Why This Happens

Instance methods require an object to operate on, but static methods like main() do not have an implicit this reference. You cannot call instance methods directly from static context. Either create an instance of the class or make the target method static.

The Problem

public class App {
    public void process() { System.out.println("processing"); }
    public static void main(String[] args) {
        process(); // Error: non-static method from static context
    }
}

The Fix

public class App {
    public void process() { System.out.println("processing"); }
    public static void main(String[] args) {
        App app = new App();
        app.process(); // Call on an instance
    }
}

Step-by-Step Fix

  1. 1

    Identify the static context

    Find the static method (usually main) that is trying to call an instance method.

  2. 2

    Determine the right fix

    Decide whether the target method should be static or if you need an instance of the class.

  3. 3

    Create an instance or make static

    Create a new instance and call the method on it, or add the static modifier to the target method if it does not use instance state.

Bugsly catches this automatically

Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.

Try Bugsly free