1、final修饰类
被final修饰的类不可以在被继承。

比如在Java中String就是final修饰的不可以被继承
2、final修饰成员变量
同时final也可以修饰局部变量
final int N=5;
3、final修饰静态变量
final修饰静态的成员变量,(在方法中不能定义静态的属性)回忆了一下static静态,在非静态的方法中可以使用静态变量,然而在静态的方法中直接使用静态方法或变量,使用非静态方法需要对象引用。


4、final修饰方法
final修饰的方法不能被重载,即使子类继承了父类,如下图所示

需要注意的是final不能修饰构造方法,因为构造方法与类名是一样的不存在重载的可能
5、final修饰形参(形式参数)
final修饰形参,意味着参数被传值之后就不能在被赋值了,否则报错。

6、final修饰引用
final修饰引用,被final修饰后不可以在指向其他对象,但是他指向的对象的内容可以进行改变。

7、final修饰数组
final修饰数组和final修饰引用有点类似,对于被final修饰的数组来说,这个数组不可以再指向其他数组了,但是自己的数组内容是可以进行改变的。