个人笔记,仅供参考
1、概述
final代表最终,使用final关键字后无法更改
2、使用
2.1、类
public final class{
}
使用final关键字后,这个类不能有任何子类
2.1、方法
public final 返回值 方法名(){}
使用final后不能进行重写
2.3、局部变量
final 数据类型 变量名 = 数值
使用后不能更改
注意:对基本类型是内容不可变,对引用类型则是地址值不可变,也就是说,引用类型的值还可以更改
2.4、成员变量
private final 数据类型 变量名 = 数值
使用后同样无法进行进行修改(只能赋值一次),
可以在定义后马上赋值,也可以在构造方法中赋值(保证所有构造方法都有对其赋值的语句)
权限修饰符
public | protect | (default) | private | |
---|---|---|---|---|
同一个类 | yes | yes | yes | yes |
同一个包 | yes | yes | yes | no |
不同包子类 | yes | yes | no | no |
不同包非子类 | yes | no | no | no |