Prevent a class from being extended

 

  • A class with the final qualifier cannot be extended (i.e., used as a superclass):

    /* ======================================
       This class cannot be extended
       ====================================== */
    public final class myClass 
    {
    
       // Data fields, constructors, and methods omitted
    
    
    
    }
      

DEMO: demo/04-inheritance/23-final-class

Prevent a inherited method from being overridden

 

  • A method with the final qualifier cannot be overridden in a subclass:

    public  class myClass 
    {
        ....
    
        /* ======================================
           This method cannot be overridden
           ====================================== */
        public final void method1()
        {
            // Do something
        }
    
        ....
    } 

DEMO: demo/04-inheritance/23-final-method