Java中的final关键字有以下特点:
声明一个final变量后,它的值不能再被修改。即,final变量是常量,一旦被赋值后就不能再改变。
声明一个final方法后,该方法不能被子类重写。即,final方法是不能被继承的。
声明一个final类后,该类不能被继承。即,final类是不能有子类的。
final关键字还可以用于修饰参数,表示参数值在方法内部不能被修改。
final关键字还可以用于修饰引用类型的变量,表示该变量引用的对象不能被改变,但是对象的属性值可以修改。
final关键字还可以用于修饰静态变量,表示该变量的值在初始化之后不能被修改。
final关键字还可以用于修饰类的成员变量,表示该成员变量在对象创建之后不能被修改。
综上所述,final关键字主要用于定义常量、防止方法重写、防止类被继承以及限制参数、引用、静态变量和成员变量的修改。