Maison > Java > Javacommencer > Quelle est la fonction du mot-clé final en Java

Quelle est la fonction du mot-clé final en Java

王林
Libérer: 2020-10-22 10:40:36
original
33079 Les gens l'ont consulté

Les fonctions du mot-clé final en Java : 1. Utilisé pour modifier une référence ; 2. Utilisé pour modifier une méthode ; 3. Utilisé pour modifier une classe ; Lorsqu'une méthode est modifiée définitivement, cette méthode deviendra la méthode finale et ne pourra pas être remplacée par les sous-classes.

Quelle est la fonction du mot-clé final en Java

1. Aperçu des fonctions du mot-clé final

Le mot-clé final peut être utilisé pour modifier des références, des méthodes et des classes.

(Tutoriel vidéo recommandé : cours java )

1 Utilisé pour modifier une référence

Si la référence est un type de données de base, la référence. est Constant, la valeur ne peut pas être modifiée ; si la référence est un type de données de référence, tel qu'un objet ou un tableau, l'objet ou le tableau lui-même peut être modifié, mais la référence pointant vers l'adresse de l'objet ou du tableau ne peut pas être modifiée. Si la référence est à une variable membre de la classe, il faut lui attribuer une valeur sur place, sinon la compilation signalera une erreur.

Un exemple est le suivant :

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};
    }
}
Copier après la connexion

2 Utilisé pour modifier une méthode

Lorsqu'une méthode finale modifiée est utilisée, cette méthode deviendra la méthode finale et ne pourra pas être utilisée. remplacé par des sous-classes. Cependant, la méthode peut toujours être héritée.

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();
    }    
}
Copier après la connexion

3. Utilisé pour modifier une classe

Lorsqu'une classe est modifiée avec final, la classe devient la classe finale et ne peut pas être héritée. Cela s’appelle simplement « retrancher les descendants et exterminer les descendants ».

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

}
Copier après la connexion

Par exemple, la classe String couramment utilisée est la classe finale.

Recommandations associées : Démarrez avec Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal