"Variable no estática a la que no se puede hacer referencia desde un contexto estático"?

Soy un novato en Java y estoy tratando de desplegar un rastro de Fibonacci a través de la función recursiva y luego calcular el tiempo de ejecución. Aquí está el código que he logrado escribir:

class nanoTime{
    int fib(int n){
        if(n==0) return 0;
        if(n==1) return 1;
        return this.fib(n-1)+this.fib(n-2);
    }
    public static void main(String[] args){
        double beginTime,endTime,runTime;
        int n=10;
        beginTime = System.nanoTime();
        n = this.fib(n);
        endTime = System.nanoTime();
        runTime = endTime-beginTime;
        System.out.println("Run Time:" + runTime);
    }
}

El problema es que cuando trato de convertirlo en código de bytes aparece el siguiente error:

nanoTime.java:11: non-static variable this cannot be referenced from a static context

Me pregunto cuál es el problema.

Respuestas a la pregunta(7)

Su respuesta a la pregunta