Heim >Java >JavaErste Schritte >Welche Funktion hat das Schlüsselwort final in Java?

Welche Funktion hat das Schlüsselwort final in Java?

王林
王林Original
2020-07-14 14:46:003192Durchsuche

Die Funktionen des Schlüsselworts final in Java sind: 1. Referenzen ändern; 2. Methoden ändern; 3. Klassen ändern; Wenn eine Methode endgültig geändert wird, wird diese Methode zur endgültigen Methode und kann nicht von Unterklassen überschrieben werden. Wenn final eine Klasse ändert, wird die Klasse zur endgültigen Klasse und kann nicht vererbt werden, wie z. B. die String-Klasse.

Welche Funktion hat das Schlüsselwort final in Java?

Das letzte Schlüsselwort kann zum Ändern von Referenzen, Methoden und Klassen verwendet werden.

(Empfohlenes Tutorial: Java-Einführungs-Tutorial)

1. Geänderte Referenz

Wenn die Referenz ein Basisdatentyp ist, ist die Referenz eine Konstante . 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 die Referenz, die auf die Adresse des Objekts oder Arrays zeigt, nicht geändert werden Referenz ist eine Mitgliedsvariable einer Klasse, ihr muss sofort ein Wert zugewiesen werden, andernfalls meldet die Kompilierung einen Fehler.

Code-Implementierung:

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. Änderungsmethode

Wenn eine endgültige Änderungsmethode 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();
    }    
}

(Empfohlenes Video-Tutorial: Java-Video-Tutorial)

3. Wird zum Ändern der Klasse verwendet

Wenn eine Klasse mit final geändert wird, wird die Die Klasse wird zur endgültigen Klasse und kann nicht vererbt werden. Man nennt es einfach „Ausrottung der Nachkommen und Ausrottung der Nachkommen“. Beispielsweise ist die String-Klasse die letzte Klasse.

Code-Implementierung:

/***
 * final用法3:修饰类,则该类成为最终类,无法被继承
 * @author Administrator
 *
 */
final class Person02 {    }
//class Teacher02 extends Person02 { }
//class MyString extends String{}
public class Demo03 {

}

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn