Member-only story

Java final, finally, and finalize — What’s the Difference?

3 min readApr 14, 2025

As a beginner Java developer, you’ve probably come across the terms final, finally, and finalize at some point. At first glance, they seem similar, but they actually serve very different purposes in Java. Let’s clear up the confusion and explain what each one means and how to use them.

Why This Topic Matters

Understanding the differences between final, finally, and finalize is important because these keywords affect how you write and manage your Java code. Using them correctly can help prevent bugs, improve performance, and make your code easier to understand. It’s a small detail, but it’s an important one that’ll come up again and again as you write Java code.

What’s the Difference?

  1. final – A Keyword for Immutability

final is a modifier that can be applied to variables, methods, and classes. It has a few different uses depending on where it’s applied:

  • Final Variables: Once a variable is marked as final, its value can’t be changed (it becomes a constant).
  • Final Methods: You can’t override a method marked as final in a subclass.
  • Final Classes: A class marked as final can’t be subclassed.

Example of final with a variable:

public class FinalExample {
public static void main(String[] args) {
final int MAX_VALUE = 100;
// MAX_VALUE = 200…

--

--

Lorenzo Orlando
Lorenzo Orlando

No responses yet