How to Use the final Command in Java - dummies

How to Use the final Command in Java

By Doug Lowe

Here are three ways to use the final command in Java: final class, final method, and final variables. The following Java coding examples will teach you all about the command final.

final class

A final class is a class that can’t be used as a base class. To declare a class as final, just add the final keyword to the class declaration:

public final class BaseBall
   // members for the BaseBall class go here

Then no one can use the BaseBall class as the base class for another class.

When you declare a class final, all its methods are considered final as well. The final keyword isn’t required on any method of a final class.

final method

A final method is a method that can’t be overridden by a subclass. To create a final method, you simply add the keyword final to the method declaration. For example:

public class SpaceShip
    public final int getVelocity()
        return this.velocity;

Here, the method getVelocity is declared as final. Thus, any class that uses the SpaceShip class as a base class can’t override the getVelocity method. If it tries, the compiler issues the error message (Overridden method final).

Here are some additional details about final methods:

  • Generally, you should avoid declaring final methods. Although you might think that a subclass wouldn’t need to override a method, you can’t always be sure what someone else might want to do with your class.

  • final methods execute a bit more efficiently than nonfinal methods because the compiler knows at compile time that a call to a final method won’t be overridden by some other method.

  • private methods are automatically considered final.

That makes sense; after all, a subclass can’t override a method that it can’t see.

final variables

A final variable, also called a “constant,” is a variable whose value you can’t change after it’s been initialized. For example, you might use a final variable to define a constant value, such as pi. To declare a final variable, you add the final keyword to the variable declaration, like this:

static final int WEEKDAYS = 5;

Although it isn’t required, adding the static keyword is common for final variables.

Using all capital letters for final variable names is a common convention. That way, you can easily spot the use of final variables in your programs.