第5题(2023/9/10)
final关键字
答
final是java中的一个关键字
1、final修饰类,表示此类不可以被继承
2、final修饰方法,表示此方法不可以被子类进行重写,但是可以进行重载
3、final修饰变量,表示该变量的值不可以发生改变
(1)修饰成员变量
如果final修饰的是类变量(静态变量),只能在静态初始化块中对其进行初始化或者在声明此变量时对其进行初始化
如果final修饰的是成员变量,可以在非静态初始化块中、声明该变量或者构造器中执行初始值
(2)修饰局部变量
final修饰的局部变量,系统不会为局部变量进行自动赋值,必须由程序员手动为此变量进行赋值。
(3)修饰基本数据类型和引用数据类型
修饰基本数据类型是时,其数值在初始化之后便不能进行修改
修饰引用数据类型时,对其进行初始化之后便不能再指向另一个对象,但是引用的值是可以改变的(也就时内存中的对象可以改变,但是内存地址不可以改变)。
4、在局部内部类和 匿名内部类中,只能访问到局部final变量。final修饰局部变量之后,就可以保证内部类局部变量和方法局部变量保持一致。
注意:内部类和外部类是同一级别的,内部类不会因为其所属方法的执行完毕而被销毁。