Final Keyword in Java. What are the uses of final keyword in Java?

Final keyword in Java has three different uses: create constants, prevent inheritance and prevent methods from being overridden. Following is a list of uses of final keyword.

  • Using final to define constants: If you want to make a local variable, class variable (static field), or instance variable (non-static filed) constant, declare it final. A final variable may only be assigned to once and its value will not change and can help avoid programming errors.

    Once a final variable has been assigned, it always contains the same value. If a final variable holds a reference to an object, then the state of the object may be changed by operations on the object, but the variable will always refer to the same object.

    This also applies to arrays, because arrays are objects; if a final variable holds a reference to an array, then the components of the array may be changed by operations on the array, but the variable will always refer to the same array.

  • Using final to prevent inheritance: If you find a class's definition is complete and you don't want it to be sub-classed, declare it final. A final class cannot be inherited, therefore, it will be a compile-time error if the name of a final class appears in the extends clause of another class declaration; this implies that a final class cannot have any subclasses.

    It is a compile-time error if a class is declared both final and abstract, because the implementation of such a class could never be completed.

    Because a final class never has any subclasses, the methods of a final class are never overridden

  • Using final to prevent overriding: When a class is extended by other classes, its methods can be overridden for reuse. There may be circumstances when you want to prevent a particular method from being overridden, in that case, declare that method final. Methods declared as final cannot be overridden.

  • Using final for method arguments: Formal parameters of a method can be declared final to prevent them from accidental changes during the execution of method body.

Hope you have enjoyed reading about final keyword in Java. Please do write us if you have any suggestion/comment or come across any error on this page. Thanks for reading!




Get Free Tutorials by Email

About the Author

is the main author for cs-fundamentals.com. He is a software professional (post graduated from BITS-Pilani) and loves writing technical articles on programming and data structures.

Today's Tech News

Net firms 'better' at removing hate speech, says EUPosted on Friday January 19, 2018

The European Union says that 70% of material deemed to be offensive is removed within 24 hours.

Data-stealing spyware 'traced to Lebanon'Posted on Friday January 19, 2018

Nation-state malware dubbed Dark Caracal uncovered by security researchers.

Thousands hit in OnePlus credit card hackPosted on Friday January 19, 2018

About 40,000 customers of OnePlus could have had card details stolen in the attack by cyber-thieves

Courtesy BBC News

AD BLOCKER DETECTED!

Advertisements help running this site for free.


To view the content please disable AdBlocker and refresh the page.

×