提纲:

🔥关键字

  • final

  • static

  • volatile

  • native

一、关键字

1. final

  • 1、final 修饰类,表示类无法被继承,例如 String

  • 2、final 修饰方法,表示方法无法被重写,但可以重载该方法,另外 final 修饰的方法,在字节码中可能不通过 invoke 的指令进行调用,而是将方法直接内嵌到字节码中进行执行,从而提高效率

  • 3、final 修饰成员变量,表示变量一旦赋值不可再改变,也就是常量,对于引用变量来说,final 只是保证引用的对象地址不会发生改变,但对象的属性依然可以改变,final 修饰的成员变量必须在声明时或是构造方法中进行赋值,即必须在类的初始化阶段赋值

  • 4、final 修饰方法参数,表示在方法执行过程中,参数不能发生改变,比如匿名内部类和局部内部类,需要使用方法参数时,只能使用 final 修饰的局部变量

2.static

  • 1、static 修饰类,表示静态类,静态类只有静态的成员,并且不可以被实例化,但可以有静态构造方法

  • 2、static 修饰方法,表示类的方法而不是具体实例的方法,静态方***在类的加载阶段分配内存空间并加载