final 可以用来修饰类,变量和方法。
1.当一个类被 final 修饰的时候,表示该类不能被继承,类中方法默认被
final 修饰。
3.当 final 修饰方法时,表示这个方法不能被子类重写。
2.当 final 修饰基本数据类型的变量时,一旦对该变量赋值之后,就不能重新赋值了。
但是当final 修饰引用类型变量,他保存的只是引用,final只能保证引用类型变量所引用的地址不改变,但不保证这个对象不改变,这个对象完全可以发生改变。(不能重新赋值)
3.final修饰形参的时候,不能为该形参赋值。
final Person p = new Person();
p.setAge(23); //可以改变Person对象的内容
p=null //不可重新赋值,重新赋值编译出错
注意:final 修饰的变量必须被初始化,可以在定义的时候初始化,也可以在构造函数中进行初始化;final修饰变量和方法可以被继承