Can a final class be subclassed in Java?

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.


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


C:\Sample>javac error: cannot inherit from final Super
public class Sub extends Super{
1 error

Sai Subramanyam
Sai Subramanyam

Passionate, Curious and Enthusiastic.

Updated on: 30-Jul-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started