Java Final Method In Inheritance
Chapter:
Inheritance
Last Updated:
02-08-2017 15:48:50 UTC
Program:
/* ............... START ............... */
class Base {
// final method
final public void displayMsg() {
System.out.println("I'm in Base class - displayMsg()");
}
}
public class JavaFinalMethod extends Base {
// Overriding the method displayMsg()
public void displayMsg() {
System.out.println("I'm in FinalMethod class - displayMsg()");
}
public static void main(String[] s) {
JavaFinalMethod B = new JavaFinalMethod();
B.displayMsg();
}
}
/* ............... END ............... */
Output
ERROR in compiling...
FinalMethod.java:17: displayMsg() in FinalMethod cannot override displayMsg() in Base;
overridden method is final
public void displayMsg()
Notes:
-
A final method can not override i.e. you can not redefine the function. But final method can be inherited because final keyword restricts the redefinition of the method.
Tags
Final Method In Inheritance, Java, Inheritance