Heim  >  Artikel  >  Java  >  Was bedeutet final in Java?

Was bedeutet final in Java?

尚
Original
2019-12-02 14:38:444312Durchsuche

Was bedeutet final in Java?

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!

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
Vorheriger Artikel:Kann Java Briefe sortieren?Nächster Artikel:Kann Java Briefe sortieren?