在Java开发中,有些词不能作为参数命名使用,主要有以下几类:
保留关键字(reserved keywords)
abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、false、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、true、try、void、volatile、while。
特殊处理词
var:在Java 10及以上版本中引入的局部变量类型推断关键字。在声明局部变量时,可以使用var进行类型推断,但不能将var作为参数命名。
this:用于在类中引用当前对象的关键字。this不能作为参数命名。
super:用于在子类中调用父类的成员或构造方法的关键字。super不能作为参数命名。
void:表示一个方法没有返回值的关键字。void不能作为参数命名。
final:用于修饰类、方法或变量,表示它们是最终的,不能被继承、重写或修改。final不能作为参数命名。
synchronized:用于实现多线程同步的关键字。synchronized不能作为参数命名。
strictfp:用于指定浮点运算的精度和行为的关键字。strictfp不能作为参数命名。
新增类型
record,大家经常用来做记录参数命名,但Java 14开始,引入了记录类型,它的属性名就是record,以后使用要注意。