java - 在java中的方法中使用“this”
问题描述
是否还需要使用“this”。继续调用类中的变量?例如:
public class APLine {
private int a;
private int b;
private int c;
public APLine(int a, int b, int c){
this.a = a;
this.b = b;
this.c = c;
}
public double getSlope(){
return (double)this.a * - 1/ this.b;
}
public boolean isOnLine(int x, int y){
return this.a * x + this.b * y + this.c == 0;
}
}
对于 getSlope() 和 isOnLine() 方法,是否需要对 this.a、this.b 或 this.c 进行编码。还是完全没有必要,只使用 a、b 或 c 就可以了?
解决方案
关键字this
是指类的当前实例。因此,在您的情况下,没有必要使用它,this.fieldName
因为您没有另一个变量来隐藏实例字段。
但是考虑一下您需要使用的这种情况this
:
public boolean isOnLine(int a, int b){
return this.a * a + this.b * a + c == 0;
}
这里的局部变量a
和b
正在遮蔽实例字段a
和b
。如果不使用this
,a
将仅引用局部变量而不是实例字段。
推荐阅读
- python - 如何在 BeautifulSoup4 中获取脚本元素
- c - 我无法在基于自定义 USB CDC 类的 STM32 设备上接收超过 64 个字节
- python - 在 python 中计算字典时遇到问题
- javascript - 类函数结构 JavaScript
- node.js - 如何在 Docker 容器中设置 Nodemon?
- c# - 使用自定义导航服务,如何将参数传递给下一个视图模型?
- amazon-web-services - 在 AWS Xray 中看不到痕迹
- javascript - 如何在多选角形式反应形式中单击元素时绑定组件
- reactjs - 在 React 组件之间进行通信以有条件地渲染组件
- reactjs - TypeError:products.map 不是函数。我该如何解决