Can a final class be subclassed in Java?

Java 8Object Oriented ProgrammingProgramming

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

The main purpose of using a class being declared as final is to prevent the class from being subclassed. If a class is marked as final then no class can inherit any feature from the final class.

You cannot extend a final class. If you try it gives you a compile time error.

Example

final class Super {
   private int data = 30;
}
public class Sub extends Super{
}

Output

C:\Sample>javac Sub.java
Sub.java:7: error: cannot inherit from final Super
public class Sub extends Super{
                         ^
1 error
raja
Published on 29-Dec-2017 08:57:05
Advertisements