Let me try
to explain this with an example.
package com.sample.app;
public class App {
public void sayHello() {
System.out.println("Hello!!!!!");
}
public static void main(String args[]) {
//sayHello();
}
}
As you see
above snippet, sayHello is an instance method. To call instance method you must
create an object, but in case of static methods, they can be called without
creating object.
Suppose if
you try to call instance method directly within static context, A static method
don’t know which particular object the non-static member (member can be field
or method) belongs to. Since there is no existing object, non-static method
doesn't belong to any object. Hence there is no way a non-static method can be
referenced from static context.
Uncomment
following statement in App.java.
//sayHello();
Try to
compile App.java after uncommenting, you will get below error from java
compiler.
Cannot make a
static reference to the non-static method sayHello() from the type App.
You may
like
No comments:
Post a Comment