这个函数在java中的构造函数中

Saj*_*jad -1 java constructor this

这两种类型有什么不同吗?

public class MyClass{
String name;

public MyClass(String nn){
this.name = nn;
name = nn;
}
}
Run Code Online (Sandbox Code Playgroud)

dev*_*obf 5

不,他们完全相同.有时通过使用this关键字显式是有用的,因为可能有两个具有相同名称但不同范围的变量,如下所示:

public class MyClass {
    String name;

    public MyClass(String name) {
        name = name; // Obviously doesn't work
        this.name = name;  // Now it works.
    }
}
Run Code Online (Sandbox Code Playgroud)

但既然你不是在这种情况下,它没有任何区别.


roc*_*boy 5

不,你的情况没有区别.

但在以下情况下有所帮助:

public MyClass(String name){
this.name = name; //works
name = name;  // doesn't
}
Run Code Online (Sandbox Code Playgroud)