Computer >> Computer tutorials >  >> Programming >> Java

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