我是否在我的代码中正确使用'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'是吗?每次使用像totalPriceitems ArrayList这样的变量时,是否应该使用“this”?

回答:

这没有错。但它会污染代码,因为它是多余的。我们都知道itemstotalPrice是当前对象的字段(由此引用)。

这里是一段代码,其中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

回到顶部