Final Keyword in Java explained with examples

Read Time:5 Minute, 17 Second

Table of Contents

We know that Java has 48 reserved keywords, one of which is the final keyword. It’s a Java keyword that can be used to limit the use of entities. It can be used for classes, methods, and variables. For various entities, the Java final keyword is used in multiple ways. The final keyword serves a different purpose for class, variable, and methods.

This article will discuss the final keyword in Java and explore how to implement and use it with different parameters.

In Java, what is the final keyword?

The final keyword in Java is a non-access specifier for restricting access to a class, variable, or function. If we use the final keyword to initialize a variable, we can’t change its value. When a method is declared final, it cannot be overridden by any subclasses. Furthermore, declaring a class final prevents other classes from inheriting or extending it.

In other words, no other classes can inherit the final classes.

That was a quick overview of Java’s final keyword. We’ll now look at using the final keyword in Java with variables, methods, and classes. We’ll go over the following points in depth:


  • final variable
  • final class
  • final method

The final variable in Java

We can’t change the value of a variable once we’ve declared it using the final keyword. We’ll get a compilation error if we try to change the value of the last variable. We can generally think of a final variable as a constant because its values cannot be modified.

What if we declare the reference variables final instead of the standard variables? The final reference variable’s constraint is that we can’t change “what the object refers to,” but we can change the object itself. It’s not possible to declare a variable final without first initializing it. While declaring a final variable, we must give it an initial value. If it is declared without initializing, the final variable is a final blank variable. However, initializing a final variable either during or after the declaration is required. We’ll get a compilation error if we leave it uninitialized.

Syntax of defining a final variable:

Initialization of the final variable In Java

Because a final variable cannot be left uninitialized, the methods for initializing a final variable are as follows:

  • The most typical method is to declare a final variable and then initialize it. We refer to it as a final blank variable if you don’t initialize it while declaring it. The following two methods are used to create a final blank variable.
  • A final blank variable can be initialized either in an instance-initializer block or in the class’s constructor. If the class contains numerous constructors, you must initialize the final variable in each constructor; otherwise, an error will occur.
  • We can initialize a blank final static variable within a static block.

Code to illustrate the Java final Variable:


Code to illustrate the final blank variable:

Code to illustrate how the final reference variable works:

When is it OK to use a Java Final Variable?

The only difference between a regular and final variable is that we can modify the value of a standard variable after it has been assigned. Still, we cannot change the final variable’s value after being assigned. As a result, we must only use the final variables to set values that will remain constant during the program’s execution.

Java’s final method

We talked about the Final Keyword and how to declare the Final Variable before. By adding the Final keyword before the method name, we can declare Java methods as Final Methods. Subclasses cannot override the method using the Final Keyword. The Final Method’s purpose is to specify that a child or subclass that extends it cannot change the method’s definition.

Code responsible for expressing the final method in Java:


The Final Method creates a compile-time error in the example above. Because the Final method of the Parent class was overridden by the Final method of the Child class, this is not possible in the Java programming language.

Final methods’ purpose in Java

The goal of defining final methods is to prevent unintentional and incorrect use of method definitions while overriding the method. Though not theoretically erroneous, it can alter the meaning of the approach, causing the reader to misinterpret it. As a result, we declare methods as final in such cases to avoid unnecessary method declarations.

We create a Mammal class and add a non-final function called sound() to it. If someone builds a Human class and overrides the jump() method, causing the Human to print the incorrect jump, such as gallop. It will cause our method to be misused; thus, to avoid this, we’ll utilize the final method, as shown in the code below. To comprehend the final Method’s purpose, use the following code:

Java’s Final Class

In Java, we may also declare a class with the final keyword. When a class is declared final, it prevents other classes from inheriting or extending it. In other words, a Java final class cannot be expanded by other inheritance classes. If another class tries to extend the final class, there will be a compilation issue.

The snippet of code for the final class:


To comprehend the final class, use the following code:

Example: Final variable

Example: Final method

Example: Java final class


We’ve concluded the article on Java’s final keyword. We discovered that the final keyword in Java could be used with variables, methods, and classes for various purposes. You can use the final keyword with variables, classes, and methods to restrict some things in exceptional circumstances. We also examined how to use a standard and a reference variable with a final keyword.

In addition, we learned how to prevent a class from overriding a method. A class can also be made final, preventing it from being extended by other classes. That is everything about Java’s final keyword.


CyberSEO Pro - OpenAI GPT-3 autoblogging and content curation plugin for WordPress

Tag Cloud

Java Java Logical Programs OTP Generation in Java python Recursion youtube video ASCII Upper and Lower Case blockchain javascript graph learn to code software development Successful Software Engineers breadth first search Java Array Programs Java Programs Uncategorized android ios programming kotlin web-development django data sql cybersecurity database swiftui serverless aws swift rust react background-position gradients loader mask grid nth-child pseudo elements indieweb WordPress Print Array without brackets C++ factorial Java String Programs Final Keyword Static Variable Axie Infinity Cryptokitties NFT games tool inserting MISC Tips Codes python code python projects python3 system info python project Bigginers How to Do Integrations Payment Gateways PHP checkout page in php Implement stripe payment gateway in Step by step in PHP integrate stripe gatway in php mysql payment gateway integration in php step by step payment gateway integration in php step by step with source code payment gateway integration in website PHP Integrate Stripe Payment Gateway Tutorial PHP shopping cart checkout code shopping cart in php stripe php checkout PHP/MySQL/JSON best international payment gateway does google pay accept international payments how to accept international payments in india paytm payment gateway razorpay codeigniter github razorpay custom checkout github razorpay get payment details razorpay integration in codeigniter github razorpay international payments Razorpay payment gateway integration in CodeIgniter razorpay payment gateway integration in php code Razorpay payment gateway integration with PHP and CodeIgniter Razorpay payment gateway setup in CodeIgniter Library & Frameworks Tips & Tricks UI/UX & Front-end coding birds online html code for google sign in login with google account in PHP login with google account using javascript login with google account using javascript codeigniter login with google account using php login with google account using php source code
Creating the DigitalOcean Logo in 3D With CSS Previous post Creating the DigitalOcean Logo in 3D With CSS
How to change TOR IP address with Python Next post How to change TOR IP address with Python

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.