Skip to main content

Java Exception Handling MCQ Test

  Loading…

The `final` Keyword

 In Java, the `final` keyword is used to restrict the ability to modify entities such as variables, methods, and classes. Here's a breakdown of how `final` is used in different contexts:


1. Final Variables:

   - When applied to a variable, it indicates that the variable's value cannot be changed once it has been initialized.

   - Final instance variables must be initialized before the constructor completes or through an instance initializer block.

   - Final static variables (class variables) must be initialized before the class is loaded, either through direct assignment or within a static initializer block.



   public class MyClass {

       final int x = 10; // final instance variable

       final static int y; // final static variable


       static {

           y = 20; // initialization of final static variable

       }

   }


2. Final Methods:

   - When applied to a method, it prevents subclasses from overriding that method.

   - Final methods are useful when certain behavior of a method should not be changed by subclasses.


   Example:


   public class Parent {

       final void display() {

           System.out.println("Parent's display method");

       }

   }


   public class Child extends Parent {

       // This will cause a compilation error as final methods cannot be overridden

       void display() {

           System.out.println("Child's display method");

       }

   }


3. Final Classes:

   - When applied to a class, it indicates that the class cannot be subclassed.

   - Final classes are often used for utility classes or classes with immutable behavior.


   Example:


   final class FinalClass {

       // Class definition

   }


   // This will cause a compilation error as FinalClass cannot be extended

   public class SubClass extends FinalClass {

       // Class definition

   }



4. Final Arguments:

   - When applied to method parameters, it ensures that the value of the parameter cannot be changed within the method.


   Example:


   public void processData(final int value) {

       // value = 10; // This will cause a compilation error as value is final

       System.out.println("Value: " + value);

   }



In summary, the `final` keyword in Java is used to create constants, prevent method overriding, prohibit subclassing, and ensure immutability where needed. It adds clarity, safety, and design constraints to Java programs.

Comments

Popular posts from this blog

The Collection Interface.

  The Collection Interface. 

OracleJDK vs OpenJDK

Oracle JDK (Java Development Kit): Oracle JDK is the official reference implementation of the Java Platform, Standard Edition (Java SE). It included the JRE along with development tools. OpenJDK: An open-source alternative to Oracle JDK, OpenJDK is a community-driven project. It provides a free and open-source implementation of the Java Platform, and many other JDKs, including Oracle JDK, are derived from OpenJDK. Below is a simple table highlighting some key points of comparison between Oracle JDK and OpenJDK: Feature Oracle JDK OpenJDK Vendor Oracle Corporation OpenJDK Community Licensing Commercial (Paid) with Oracle Binary Code License Agreement Open Source (GNU General Public License, version 2, with the Classpath Exception) Support Commercial support available with Oracle Support subscription Community support, may have commercial support options from other vendors Updates and Patches Regular updates with security patches provided by Oracle Updates and patches contributed by the ...