Can we declare the main () method as final in Java?


Yes, we can declare the main () method as final in Java. The compiler does not throw any error.

  • If we declare any method as final by placing the final keyword then that method becomes the final method.
  • The main use of the final method in Java is they are not overridden.
  • We can not override final methods in subclasses.
  • If we are using inheritance and we need some methods not to overridden in subclasses then we need to make it final so that those methods can't be overridden by subclasses.
  • We can access final methods in the subclass but we can not override final methods.

Example

class BaseClass {
   public final void show(Object o) {
      System.out.println("BaseClass method");
   }
}
class DerivedClass extends BaseClass {
   public void show(Integer i) {
      System.out.println("DerivedClass method");
   }
}
public class Test {
   public static final void main(String[] args) { // declaring main () method with final keyword.
      BaseClass b = new BaseClass();
      DerivedClass d = new DerivedClass();
      b.show(new Integer(0));
      d.show(new Integer(0));
   }
}

Output

BaseClass method
DerivedClass method

raja
raja

e

Updated on: 06-Feb-2020

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements