Is final method inherited in Java?

Java 8Object Oriented ProgrammingProgramming

No, we cannot override a final method in Java.

The final modifier for finalizing the implementations of classes, methods, and variables.

We can declare a method as final, once you declare a method final it cannot be overridden. So, you cannot modify a final method from a sub class.

The main intention of making a method final would be that the content of the method should not be changed by any outsider.

Example

class Demo{
   public final void demoMethod(){
      System.out.println("Hello");
   }
}
public class Sample extends Demo{
   public final void demoMethod(){
      System.out.println("demo method");
   }
   public static void main(String args[]){
      Sample obj = new Sample();
      obj.demoMethod();
   }
}

Output

C:\Sample>javac Sample.java
Sample.java:8: error: demoMethod() in Sample cannot override demoMethod() in Demo
public final void demoMethod(){
                  ^
overridden method is final
1 error
raja
Published on 08-Feb-2018 09:47:01
Advertisements