- - Tutorial: Das Schlüsselwort "Final" in Java

Tutorial: Das Schlüsselwort "Final" in Java

Zu diesem Zeitpunkt hoffe ich, dass Sie sich vertraut gemacht habenmit den Schlüsselwörtern wie statisch und dies in Java. In der Java-Programmiersprache ist "final" ein Schlüsselwort, das für verschiedene Zwecke verwendet wird. Hier ist eine Liste aller Kontexte, in denen wir final verwenden:

  • Endgültige Variablen können nicht geändert, sondern nicht neu initialisiert werden.
  • Endgültige Methoden können nicht überschrieben werden.
  • Abschlussklassen können nicht vererbt werden.

Jetzt werden wir all dies anhand der folgenden Beispiele für jeden der Kontexte verstehen:

Programme

1. Programm für die endgültige Variable

public class Circle{
public static void main(String args[]){
final double PI = 3.14;
final double radius = 3.50;
System.out.println("Area of Circle is: "+(PI*Math.pow(radius,2)));
radius = 3.75;
System.out.println("Area of Circle is: "+(PI*Math.pow(radius,2)));
}
}

Programm für endgültige Variable

2. Programm für die endgültige Methode

public class Figure {
final public double calculateArea(double radius){
return Math.pow(radius,2);
}
}
class Circle extends Figure{
public double  calculateArea(double radius){
System.out.println("Overriding Not Allowed");    /*  calculateArea() can not be overridden */
}
}
class Main{
public static void main(String args[]){
Circle circle = new Circle();
circle.calculateArea(1.23);
}
}

Programm für die endgültige Methode

3. Programm für die Abschlussklasse

final class Circle{
final double PI = 3.14;
double calculateArea(double radius){
return (PI*Math.pow(radius,2));
}
}
class Cylinder extends Circle{
double height = 10.0;
double calculateArea(double radius){
return 2*((PI*Math.pow(radius,2))+(PI*radius*height));
}
}
class Main{
public static void main(String args[]){
Cylinder cylinder = new Cylinder();
cylinder.calculateArea(3.11);
}
}

Programm für die Abschlussklasse

Erläuterung

Wenn Variablen mit final als final deklariert werdenSchlüsselwort, es kann nur einmal initialisiert werden und wird im Allgemeinen während der Deklaration definiert. Wenn es während der Deklaration nicht initialisiert wird, muss die sogenannte endgültige leere Variable in den Konstruktoren definiert werden, da sonst ein Fehler bei der Kompilierung auftritt.

Sobald es definiert ist, kann es erneut initialisiert werden. Bei der Initialisierung tritt ein Kompilierungsfehler auf. Aus der Ausgabe des ersten Programms kann es leicht erkannt werden.

Wenn Methoden mit final als final deklariert werdenSchlüsselwort in einer Klasse kann überladen, aber nicht überschrieben werden. In dem oben angegebenen Beispiel haben wir final berechneArea () in der Figure-Klasse definiert, konnte in der Klasse Circle-Klasse nicht vererbt und überschrieben werden, da dies den Fehler bei der Kompilierung ergibt.

Das Deklarieren von Methoden als endgültig entsprichtprivate Methode, aber für Variable ist es nicht wahr und die endgültige Variable ist überhaupt nicht gleichbedeutend mit der konstanten Variablen, da beim Deklarieren des Arrays als endgültig der Status des Array-Objekts geändert werden kann, dh veränderbar, sodass Änderungen vorgenommen werden müssen, um Änderungen einzuschränken unveränderlich, aber wenn ein Array als konstant deklariert wird, kann es sowieso nicht geändert werden.

Um die Vererbung einer Klasse zu verhindern, wird diebetroffene Klasse wird als endgültig erklärt. Hier im dritten Programm haben wir versucht, die letzte Klasse zu erben, aber wir haben einen Kompilierungsfehler mit der Meldung "Kann nicht vom endgültigen Kreis erben" erhalten, der aus dem Screenshot während der Kompilierung hervorgeht.

Hier wird das Finale gründlich besprochen und ich denke, es wird Ihnen sehr helfen, das Finale in Java und all seinen Verwendungen zu verstehen.

Bemerkungen