English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di Base Java

Java Controllo dei flussi

Java Array

Java Orientato agli oggetti (I)

Java Orientato agli oggetti (II)

Java Orientato agli oggetti (III)

Gestione delle eccezioni Java

Java Lista (List)

Java Queue (Coda)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Java other topics

Parola chiave final Java

In this tutorial, we will learn about Java final variables, final methods, and final classes through examples.

In Java, the final keyword is used to represent constants. It can be used with variables, methods, and classes.

Any entity (variable, method, or class) once declared final can only be assigned once. That is,

  • final variables cannot be reinitialized with another value

  • final method cannot be overridden

  • final class cannot be inherited

1. Java final variable

In Java, we cannot change the value of a final variable. For example,

class Main {
  public static void main(String[] args) {
    //Create a final variable
    final int AGE = 32;
    //Attempt to change final variable
    AGE = 45;
    System.out.println("Age: " + AGE);
  }
}

In the above program, we created a final variable named age. And we tried to change the value of the final variable.

Durante l'esecuzione del programma, verrà visualizzato il seguente messaggio di errore, che indica un errore di compilazione.

cannot assign a value to final variable AGE
    AGE = 45;
    ^

Note:It is recommended to use uppercase form to declare final variables in Java.

2. Java final method

Before understanding final methods and final classes, make sure you understandEreditarietà Java.

In Java, the final method cannot be overridden by a subclass. For example,

class FinalDemo {
    //Creazione del metodo finale
    public final void display() {
      System.out.println("This is the final method.");
    }
}
class Main extends FinalDemo {
  //Tentativo di riscrivere il metodo finale
  public final void display() {
    System.out.println("The final method has been overridden.");
  }
  public static void main(String[] args) {
    Main obj = new Main();
    obj.display();
  }
}

In the above example, we created a final method named display() within the FinalDemo class. Here, the Main class inherits from the FinalDemo class.

We tried to override the final method in the Main class. When running the program, the following error message will appear, indicating a compilation error.

 display() in Main cannot override display() in FinalDemo
  public final void display() {
                    ^
  overridden method is final

3. Java final class

In Java, a final class cannot be inherited by another class. For example,

final class FinalClass {}}
    //Creazione del metodo finale
    public void display() {
      System.out.println("Questo è un metodo finale.");
    }
}
class Main extends FinalClass {
  //Tentativo di riscrivere il metodo finale
  public void display() {
    System.out.println("Riscrivi il metodo finale");
  }
  public static void main(String[] args) {
    Main obj = new Main();
    obj.display();
  }
}

Nel esempio sopra, abbiamo creato una classe finale chiamata FinalClass. Qui, proviamo a ereditare la classe FinalClass tramite la classe Main.

Durante l'esecuzione del programma, verrà visualizzato il seguente messaggio di errore, che indica un errore di compilazione.

non è possibile ereditare da FinalClass finale
class Main extends FinalClass {
                   ^