final关键字表示的是最终的
    也是一个修饰符

    final关键字可以修饰一个类
    也可以修饰一个方法
    也可以修饰一个成员变量
    也可以修饰一个局部变量

    final关键字修饰一个类的格式
    public final class 类名称{

    }
    含义:当前这个类不能有任何的子类

    final关键字修饰一个方法的格式
    修饰符 final 返回值类型 方法名称 (参数列表){
    方法体
    }
    当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写

    注意:对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾

    final关键字修饰一个局部变量的格式
    final 数据类型 变量名;

    一旦使用final修饰局部变量,那么这个变量就不能进行更改。“一次赋值,终生不变”
    对于基本类型来说,不可变说的是变量当中的数据不可改变
    对于引用类型来说,不可变说的是变量当中的地址值不可改变
    **

    一个java类如果是被final修饰了,那么这个类就不能被继承了,该类的所有成员方法都不能被覆盖重写
    在API中有很多的类这么做,目的是不让程序员随意的拓展自己的功能

    类名使用public修饰表示公共的,一个文档中只能由一个public修饰的类,public修饰的类的类名必须与文档的名字完全一致

    一个文档可以定义多个类,但是只要保证public修饰的这个类名与文档名一致就行
    image.png

    final修饰的方法不能被重写
    方法的重写是基于子类继承父类的基础上的

    final修饰的变量不能被重新赋值(对象类型和引用类型)
    其实在底层要注意:这个变量的值是可以发生改变的,不能改变的是指向!!!

    方法的重写是基于子类继承父类的基础上的