转自:
http://www.java265.com/JavaCourse/202204/3128.html
下文笔者讲述final关键字的简介说明,如下所示:- final关键字的功能:
- 用于修饰不可变的对象
- final:修饰对象后会变的不可变
- final关键字可用于修饰类,方法,变量
- 类:被修饰的类,不能被继承,即final修饰的类不能有子类
- 方法:被修饰的方法,不能被子类重写
- 变量:被修饰的变量,不能更改变量的值
复制代码 final使用方法
修饰类
- 被final修饰的类,是最终类,它不能再有子类。这个类不能被继承。
-
- final class 类名 {
- }
复制代码 修饰方法
- 修饰符 final 返回值类型 方法名(参数列表){
- //方法体
- }
- 被final修饰的方法,这时这个类没有被final修饰,那么这个类是可以有子类的,但是它中被final修饰的方法,在子类中是不能复写的。
复制代码 修饰变量
- 1.局部变量——基本类型
- 基本类型的局部变量,被final修饰后,只能赋值一次,不能再更改
- public class FinalTest {
- public static void main(String[] args) {
- //声明变量,使用final修饰
- final int a = 888;
- //第二次赋值
- A = 999; // 报错,不可重新赋值
- }
- }
-
- 2.局部变量——引用类型
- 引用类型的局部变量
- 被final修饰后,只能指向一个对象
- 地址不能再更改
- 但是不影响对象内部的成员变量值的修改
- public class FinalTest2 {
- public static void main(String[] args) {
- // 创建 User 对象
- final User u = new User();
- // 创建 另一个 User对象
- u = new User(); // 报错,指向了新的对象,地址值改变。
- // 调用setName方法
- u.setName("毛小亲"); // 可以修改
- }
- }
-
- 3、成员变量
- 显示初始化;
- public class User {
- final String USERNAME = "毛小亲";
- private int age;
- }
-
- 被final修饰的常量名称,通常笔者建议将所有字母大写
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |