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

Welche Funktion hat das Schlüsselwort final in Java?

王林
Freigeben: 2020-10-22 10:40:36
Original
33078 Leute haben es durchsucht

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.

Welche Funktion hat das Schlüsselwort final in Java?

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};
    }
}
Nach dem Login kopieren

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();
    }    
}
Nach dem Login kopieren

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 {

}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage