也许这个问题之前曾在这里问过,但我在这里找不到.
对于Java开发人员来说这是一个基本问题,但是在这里说:我说我有一个带有属性a的A类.这两个构造函数有什么区别:
public abstract class A
{
protected String a;
public A()
{
a = "text";
}
}
Run Code Online (Sandbox Code Playgroud)
第二个:
public abstract class A
{
protected String a;
public A()
{
this.a = "text"; //Here is the same with this
}
}
Run Code Online (Sandbox Code Playgroud)
在你给出的情况下,没有区别.通常this用于消除实例变量和局部变量或参数之间的歧义.例如:
public A(String a) {
this.a = a; // Assign value from parameter to local variable
}
Run Code Online (Sandbox Code Playgroud)
要么
public void setFoo(int foo) {
this.foo = foo;
}
Run Code Online (Sandbox Code Playgroud)
有些人宁愿一直使用,this.variableName以使阅读代码的人更清楚; 我个人认为,如果课程设计合理,方法足够短,通常已经足够清晰,额外的资格只会增加一些.因人而异.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |