我是否在我的代码中正确使用'this'关键字?
我正在寻找关于this
关键字的一些指导。我刚刚了解了这个概念,这让我感到困惑。这是我的一段代码:我是否在我的代码中正确使用'this'关键字?
public class CashRegister { private ArrayList<Double> items;
private int itemCount;
private double totalPrice;
public double getTotal() {
this.totalPrice = 0;
for (int i = 0; i < this.items.size(); i++) {
this.totalPrice = this.totalPrice + this.items.get(i);
}
return totalPrice;
}
}
我的问题是,如果我使用'this'是吗?每次使用像totalPrice
或items
ArrayList这样的变量时,是否应该使用“this”?
回答:
这没有错。但它会污染代码,因为它是多余的。我们都知道items
和totalPrice
是当前对象的字段(由此引用)。
这里是一段代码,其中this
有意义:
public class Test { private String test;
public Test(String test) {
this.test = test;
}
}
您可能会看到,提及test
是不明确的。在构造函数内部,如果您只使用test
,则不会知道是否访问传递给构造函数的Test
类型对象字段或参考String
,在这种情况下,您将访问该引用。因此this
用于确保您使用的类型为Test
的对象的字段。
有一个概念叫shadowing
。使用this
有助于不陷入这种陷阱,认为当你不是时,你正在引用某些东西。
这个问题是有帮助的: What is variable shadowing used for in a Java class?
回答:
您使用this
的方式绝对没有错,但是是多余的。您可以在不使用this
的情况下编写相同的代码,并获得相同的结果。
回答:
通常,“this”最常用的用法是在对象构造函数中。所以,你可以有一些东西一样......
public NewThing(int count, double price) { this.count = count;
this.price = price;
}
因此它主要用来识别与您要指定正在传入的参数的对象。因为变量名是相同的参数, “这”表示它是“这个对象”接收这些属性。
以上是 我是否在我的代码中正确使用'this'关键字? 的全部内容, 来源链接: utcz.com/qa/258202.html