final
特点:
1.final 修饰的类不能被继承
2.final 修饰的成员变量是一个常量
3.final 修饰的成员方法不能被子类重写
4.final 修饰的对象的地址不能改变即不能重新指向新地址
例如:
publicclass Demo {
publicstaticvoidmain(String[] args) {
// final 修饰的引用数据类型时// 对象中成员变量值时可以被修改的
final ClassA classA = new ClassA();
// 修改成员变量
classA.num = 10;
// 被 final 修饰的对象的地址不能改变(不能重新指向新地址)// classA = new ClassA();// 基本数据类型的变量
final int num = 10;
System.out.println(num);
}
}
class ClassA{
// num 创建对象时,有默认初始值,为0// 但是这个初始值时无效的int num;
public final voidfun() {
System.out.println("fun 方法");
}
}
final 修饰成员变量的时候,该成员变量,必须有有效的初始值
被 final 修饰的变量,程序中不能被修改,相当于常量
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写多个单词用下划线分开
使用场景
一般会与 publicstatic 连用
参数也可以被 final 修饰,相当于修饰的是局部变量
finalint num = 10;
publicvoidfun(finalint i) {
System.out.println(num);
}