可以修饰:
1、变量
基本类型:常量;
引用类型:其中数据可以改变,但是引用不能改变;
2、(非抽象)类
该类不能被继承;
3、方法
可以被重载,但不能被重写;
4、参数
在方法参数前面加final关键字就是为了防止数据在方法体中被修改:
主要分两种情况:第一,用final修饰基本数据类型;第二,用final修饰引用类型。
第一种情况,修饰基本类型(非引用类型)。这时参数的值在方法体内是不能被修改的,即不能被重新赋值。否则编译就通不过。类似于1中的情况;
第二种情况,修饰引用类型。这时参数变量所引用的对象是不能被改变的。作为引用的拷贝,参数在方法体里面不能再引用新的对象。否则编译通不过;
不能修饰:
1、接口
2、抽象类