这里的娱乐性Android开发人员,我猜的是一个简单的查询。
我想知道“这个”在java / Android中究竟是什么意思。偶尔你会把它看作某些方法的固有部分,但我很好奇它究竟是指什么。谢谢!
答案 0 :(得分:5)
从我的观点这个是:
您可以在四种不同的环境中使用它:
为了更好地理解你需要一些例子:
class Box {
// Implementing Box(double width = 1, double length = 1, double height = 1):
Box(double width, double length, double height) {
this.width = width; // width is local parameter
this.length = length; // this.length is object's field
this.height = height;
}
Box(double width, double length) {
// no statements here allowed
this(width, length, 1);
// you can call at most one constructor (recursion not allowed)
}
Box(double width) {
this(width, 1, 1);
}
Box() {
this(1, 1, 1);
System.out.println("I am default constructor");
}
public double getWidth() {
return this.width; // explicit way (width means the same)
// return Box.this.width; // full-explicit way
}
public void showWidth() {
System.out.println(this.getWidth());
}
public void showWidthAlternate() {
Box box = this; // the same as explicitly Box box = Box.this;
// this = box; // can't touch me (read-only reference)
System.out.println(box.width);
}
private double width, length, height;
}
更多信息:
答案 1 :(得分:4)
答案 2 :(得分:1)
这是指当前对象
主要在字段被遮蔽时使用
例如:
class Example {
int x;
public void setSomething(int x) {
this.x = x;
}
}
this.x引用Example类中的x实例,而不是传递给方法的x。
如果您想了解更多信息,我编辑了添加链接:
答案 3 :(得分:0)
它指的是调用该方法的类的实例。
例如,如果你有:
Cow buddy;
...
buddy.moo();
如果“moo()”方法在其定义中使用“this”,则它将引用Cow“buddy”。