static vs non-static Java

Java novices are not much aware of static vs non-static or static to non-static calling. Let us find the rules through a program.

In the following code, show() method is non-static and display() is static. The question is "Can we call a non-static method from static method?". Everyone says simply "no" because it requires an object to call. Anyhow, let us observe the compiler message.

public class Demo
  public void show()
  public static void display()
    show( );

static vs non-static
Output screen of static vs non-static Java

This is an usual compiler message every Java professional come acrosses.

Now let us see the combinations.

show() display() Result
non-static non-static works
static non-static works
static static works
non-static static does not work

The above table can easily be remembered. Only one combination does not work – calling non-static member from static member (it requires object).

Anyhow do small programs yourself and check the rules of combinations to have command over coding.

Can a class be static?

No. A class cannot be static. But static classes are possible with inner classes. Read Static Nested Classes.

Pass your comments and suggestions on this tutorial "static vs non-static Java".

3 thoughts on “static vs non-static Java”

Leave a Comment

Your email address will not be published.