Java:使用“this”作为实例方法的参数/参数名称?
2022-09-04 21:20:21
它适用于 1.8 或更高版本的 JDK 版本。
这是JLS说的
receiver 参数是实例方法或内部类的构造函数的可选语法设备。对于实例方法,receiver 参数表示为其调用该方法的对象。对于内部类的构造函数,receiver 参数表示新构造对象的立即封闭实例。无论哪种方式,receiver 参数的存在只是为了允许在源代码中表示所表示对象的类型,以便可以对类型进行注释。
如果您阅读完整的要点,您会发现以下提示,
如果允许接收方参数,则按如下方式指定其类型和名称:
在实例方法中,receiver 参数的类型必须是声明该方法的类或接口,并且 receiver 参数的名称必须是 this;否则,将发生编译时错误。
在内部类的构造函数中,receiver 参数的类型必须是类或接口,它是内部类的立即封闭类型声明,并且 receiver 参数的名称必须是 Identifier 。其中 Identifier 是类或接口的简单名称,它是内部类的紧闭类型声明;否则,将发生编译时错误。