Final en Java est un mot-clé qui peut être utilisé pour modifier des références, des méthodes et des classes. (Recommandé : Tutoriel vidéo 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 une constante, et la valeur Ne peut pas être modifié ;
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é.
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}; } }
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(); } }
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 { }
Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base 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!