final可以修饰变量、方法、类, 其中变量包括局部变量和成员变量,变量类型有基本数据类型或者引用类型。
final修饰变量则表示该变量为常量,一旦初始赋值后不能改变,对于基本数据类型的变量来说也就是值不能变,对于引用类型的变量来说是引用的地址不能改变,但是该地址的内容可以改变。
final修饰方法则表示该方法不能被重写,
final修饰类则表明,该类不能被继承,没有子类,但是可以有父类。不能有子类是因为该类的所有成员方法都不能被重写。所以final不能和abstract同时使用,因为abstract修饰的方法都要被重写。
因为final的不可修改性,所以final修饰的方法不能作为aop的切入口。