1、final
final关键字可以用来修饰类、方法、变量。final修饰类表示该类是无法被继承的。final修饰方法表示该方法无法被覆写。final修饰变量表示该变量的内存地址无法被修改的,并且一旦声明就必须被初始化。
final修饰类可见String类,为了防止String被继承覆写其中的方法用了final关键字来修饰。final修饰方法常见于工具类中的方法,工具方法为了方便调用也会同时使用static来修饰,如Java中的工具类Collections等。final常与static同时使用来修饰常量,比如类中的标识。
final修饰集合时如ArrayList,HashMap等对象时,可以保证其初始化内存地址不变,但是无法保证其内部对象不被改变。
2、default
jdk1.8时default用来修饰接口的方法,表示该方法无需子类强制实现,但是接口必须有其默认的实现方式。
3、transient
transient关键字用来修饰变量,表示该变量不能被序列化,当使用序列化工具对对象进行序列化时会自动忽略该变量。