所以我知道当构件成员和参数使用相同的名称时,它在构造函数中有多么有用。
人们通常在构造函数之外使用它来访问实例变量/成员和函数吗?这是一个好习惯吗?我应该继续使用这个关键字还是不应该使用它?
class Test {
private int num = 0;
Test(int num) {
this.num = num;
}
public int getNum() {
return this.num; // I could write num;
}
public void doSomething() {
System.out.println(this.getNum()); // I could have just invoked getNum()
}
}
答案 0 :(得分:2)
首先,这是个人(或团队)风格的问题。一些开发人员认为它有助于提高可读性,有些人认为它冗余且繁琐。
话虽如此,我认为使用this
是个好主意,因为它可以防止不同范围之间的混淆。
如果始终使用this
,那么检查部分代码的开发人员不必在每次引用变量时向上滚动,只是为了找出它的范围。
答案 1 :(得分:1)
在团队中工作时,最重要的可能是所有成员都使用相同的样式,例如格式化,camelCase或mCamelCase用于名称,甚至在任何地方使用此关键字。
没有什么比使用不同风格的代码更不易读。
您所在的每个项目都可能有不同的风格,但所有成员都应遵守规则。
只是灵活。
答案 2 :(得分:0)
是的,你可以this.your_field
。使用this
关键字没有问题。
答案 3 :(得分:0)
尝试在eclipse中生成getter。甚至eclipse也会在构造函数之外使用this
关键字;)所以,是的,它是常用的,非常习惯性的实践。
答案 4 :(得分:0)
如果你指的是一个完全不同的变量/方法,你只需要使用它。
例如,在上面的构造函数中,如果你没有使用它,那么你将引用传递给构造函数的参数。
在doSomething()方法中,不需要this关键字。