Final ist in Java ein Schlüsselwort, das zum Ändern von Referenzen, Methoden und Klassen verwendet werden kann. (Empfohlen: Java-Video-Tutorial)
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;
Wenn es sich bei der Referenz um einen Referenzdatentyp handelt, z. B. um ein Objekt oder Array, kann das Objekt oder Array selbst geändert werden, die Referenz, die auf die Adresse des Objekts oder Arrays verweist kann nicht geändert werden.
Wenn es sich bei der Referenz um eine Mitgliedsvariable der Klasse handelt, muss ihr 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ültig geänderte Methode verwendet wird, wird diese Methode zur endgültigen Methode und kann nicht sein von Unterklassen überschrieben. 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 einer Klasse verwendet.
Wenn eine Klasse mit final geändert wird, 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 { }
Weitere Java-Kenntnisse finden Sie in der Spalte Java Basic Tutorial.
Das obige ist der detaillierte Inhalt vonWas bedeutet final in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!