-
修饰类:表示类不可被继承
-
修饰方法:表示方法不可被子类覆盖,但是可以重载
-
修饰变量:表示变量一旦被赋值就不可以更改
-
修饰成员变量
(1)如果修饰的是类变量,只能在静态初始化块中指定初始值或声明该变量时指定初始值
(2)如果修饰的是成员变量,可以在非静态初始化块声明该变量或者在构造器中初始化值
-
修饰局部变量
局部变量必须由我们自己显示初始化。使用final修饰局部变量时,可以在定义时指定默认值,也可以不指定默认值,在后面的代码中对final变量进行初始化
示例:
public class test { final static int a = 0; // 在声明时就需要赋值,或者在静态代码块中赋值 // static { // a = 0; // } final int b = 0; // 在声明时就需要赋值,或者在代码块中赋值,或者在构造器内赋值 // { // b = 0; // } // public test5(int b) { // this.b = b; // } public static void main(String[] args) { final int A; // 局部变量声明时可以不初始化 A = 0; // 在使用之前要赋值 // A = 1; // 不允许第二次赋值 } }
-
修饰基本类型和引用类型
-
修饰的是基本数据类型的变量,则其数值在初始化之后便不能修改
-
修饰的是引用类型的变量,则对其初始化后不能再使其指向另一个对象,但是引用的值可以改变
示例:
public static void main(String[] args) { final int[] a = {1, 2, 3, 4}; a[1] = 3; // 合法 a = null; // 非法 final Girl girl = new Girl("小红", 18); girl.setAge(20); // 合法 girl = null; // 非法 }
-
-
Java中的final关键字
最新推荐文章于 2023-12-16 16:29:51 发布