一、final关键字
1、修饰引用:如果引用为基本数据类型,则该引用为常量,该值无法修改; 如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。 如果引用时类的成员变量,则必须当场赋值,否则编译会报错。
2、修饰方法:无法被重写,但是可以被继承的子类使用。
3、修饰类:无法被继承。“断子绝孙”
二、static关键字
static 表示全局的 or 静态的:方便在没有创建对象的情况下来进行调用(方法/变量)。
static 可以修饰-方法,变量,代码块
在JVM中,被static修饰的方法和变量存放在方法区中(JDK8称为元空间),它属于全局共享的,而不是某个线程私有的。也就是独立于该类中的任何对象,它不依赖于类的特定实例(对象),被类的所有实例共享,可以直接用类名调用类中的任何方法和变量。