Heim >Java >JavaErste Schritte >Welche Funktion hat das Schlüsselwort final in Java?
Die Funktionen des Schlüsselworts final in Java: 1. Wird zum Ändern einer Referenz verwendet. 2. Wird zum Ändern einer Methode verwendet. 3. Wird zum Ändern einer Klasse verwendet. Wenn eine Methode endgültig geändert wird, wird diese Methode zur endgültigen Methode und kann nicht von Unterklassen überschrieben werden.
1. Übersicht über die Funktionen des Schlüsselworts final
Mit dem Schlüsselwort final können Referenzen, Methoden und Klassen geändert werden.
(Empfohlenes Video-Tutorial: Java-Kurs)
1. Wird zum Ändern einer Referenz verwendet.
Wenn die Referenz ein Basisdatentyp ist, ist die Referenz eine Konstante und der Wert kann nicht geändert werden B. ein Objekt, ein Array, das Objekt oder Array selbst kann geändert werden, aber die Referenz, die auf die Adresse des Objekts oder Arrays zeigt, kann nicht geändert werden. Wenn es sich um eine Referenz auf eine Mitgliedsvariable der Klasse handelt, muss dieser sofort ein Wert zugewiesen werden, andernfalls meldet die Kompilierung einen Fehler.
Ein Beispiel ist wie folgt:
final class Person { String name ="zs"; //3. 此处不赋值会报错 //final int age; final int age = 10; } public class Demo01 { public static void main(String[] args) { //1. 基本数组类型为常量,无法修改 final int i = 9; //i = 10; //2. 地址不能修改,但是对象本身的属性可以修改 Person p = new Person(); p.name = "lisi"; final int[] arr = {1,2,3,45}; arr[3] = 999; //arr = new int[]{1,4,56,78}; } }
2. Wird zum Ändern einer Methode verwendet
Wenn eine endgültige geänderte Methode verwendet wird, wird diese Methode zur endgültigen Methode und kann nicht von Unterklassen überschrieben werden. Die Methode kann jedoch weiterhin vererbt werden.
class Person { public final void say() { System.out.println("说...."); } public void eat() { System.out.println("吃..."); } } class Teacher extends Person { //1. final修饰的方法不能被重写,但此方法仍然被继承 /*@Override public void say() { System.out.println("老师在一本正经的说..."); }*/ public void eat() { System.out.println("老师在大口大口的吃..."); } } public class Demo02 { public static void main(String[] args) { Teacher t = new Teacher(); t.say(); } }
3. Wird zum Ändern von Klassen verwendet
Wenn Sie final zum Ändern einer Klasse verwenden, wird die Klasse zur endgültigen Klasse und kann nicht vererbt werden. Man nennt es einfach „Ausrottung der Nachkommen und Ausrottung der Nachkommen“.
/*** * final用法3:修饰类,则该类成为最终类,无法被继承 * @author Administrator * */ final class Person02 { } //class Teacher02 extends Person02 { } //class MyString extends String{} public class Demo03 { }
Zum Beispiel ist die häufig verwendete String-Klasse die letzte Klasse.
Verwandte Empfehlungen: Erste Schritte mit Java
Das obige ist der detaillierte Inhalt vonWelche Funktion hat das Schlüsselwort final in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!