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



