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)
不,他们完全相同.有时通过使用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)
但既然你不是在这种情况下,它没有任何区别.
不,你的情况没有区别.
但在以下情况下有所帮助:
public MyClass(String name){
this.name = name; //works
name = name; // doesn't
}
Run Code Online (Sandbox Code Playgroud)