java中,提到final,我们想到的就是不能改变,简单说就是下面三种:
(1)修饰类,表示该类不能被继承,我们熟知的String就是final的,而且String的所有返回String的方法,都是返回new String
(2)修饰方法,表示方法不能被重写,子类无法override
(3)修饰变量,表示变量只能一次赋值,以后不能修改。通常这样的变量名是大写的。
下面相信介绍各个用法
1.修饰变量
(1)被final修饰的实例变量,必须显式的指定初始值,只能在如下三个位置:
* 定义final变量的时候
* 在非静态初始块中
* 构造器中
(2)修饰类变量 static的
* 定义的时候初始化
* 静态初始化块中
(3)局部变量,本来java要求局部变量必须赋值,所以final也一样,定义的时候必须赋值
和普通变量相比,final的变量必须显式初始化,而普通变量,java会帮我们赋初始值
(4)final修饰的作为宏变量,必须在定义的时候初始化才可以
(5)匿名类中使用局部变量,必须是final的,隐式闭包的问题
2.修饰类
修饰的类引用不可变,但是类的属性还是可以变的。注意下。
本文详细介绍了Java中final关键字的用途及使用场景,包括修饰变量、类和方法的规则,并解释了final变量的初始化时机和匿名类中使用局部变量的要求。
4128

被折叠的 条评论
为什么被折叠?



