用final关键字修饰的变量、方法、类是独一无二的,不可变更(某些重要的属性或行为防止被改动)。
即:
- final修饰的类不能被继承
- final的方法不能被重写
- final修饰的变量不能被重新赋值
// final 修饰类
final class Person{
final int id = 001; // final修饰变量
String name;
int age;
Person(){
System.out.println("my name is"+ this.name);
}
}
}
// 继承一个final类,会异常提示:Cannot inherit from final 'com.company.Person'
class Student extends Person{
int grade;
Student(int id){
// 给final变量重新赋值,异常提示:Cannot assign a value to final variable 'id'
this.id = id;
}
}