(一) final修饰的基本类型的变量:
如果是fina修饰的变量,表明这个变量的值是无法修改的,如果修改的话会提示错误.
(二) final修饰的引用数据类型的变量
如果是final修饰的引用数据的类型的变量,表明这个引用指向的地址不能修改
但是这个引用指向的地址的内容可以修改:
运行结果:
arr1数组的第一个数字变成了5,表明引用指向的地址的内容可以修改
(三) final修饰的方法
作用一:
首先被final修饰的方法被锁定了,不能被任何继承类修改了,但是还是可以被继承的.
还有就是private修饰的方法是默认加final的,因为子类它不能实现对这个方法的覆盖.作用二:
方法内敛: 当调用一个方法时, 系统需要进行保存现场信息, 建立栈帧, 恢复线程等操作, 这些操作都是相对比较耗时的. 如果使用final修饰一个了一个方法a, 在其他调用方法a的类进行编译时, 方法a的代码会直接嵌入到调用a的代码块中.
(四) final修饰的类
final修饰的类不可以被继承
被final修饰的类所有成员方法都将被隐式修饰为final方法,但是成员变量不是被隐式修饰为final.
运行结果为45,表明a不是被final修饰的.
🐾