Cla*_*oft 2 java parameters this java-8
我最近听说自Java 8以来可以定义一个this在实例方法中调用的显式参数,如下所示:
public class Test
{
public void test(Test this, int i) { System.out.println(i); }
}
Run Code Online (Sandbox Code Playgroud)
这种语法有什么用?
正如您在此截图(Eclipse,编译器兼容性Java 8)中可以清楚地看到的,这是有效的语法.

对于Java 7或更早版本,您不能将其this用作变量的名称,因为它是保留关键字.你可以做的是将this参数传递给一个方法:
class Test {
public void foo(Test test, int i) {
//...
}
public void foo(int i) {
foo(this, i);
}
}
Run Code Online (Sandbox Code Playgroud)
对于Java 8,请参阅为什么我们可以使用'this'作为实例方法参数?
| 归档时间: |
|
| 查看次数: |
588 次 |
| 最近记录: |