如果我创建一个如下所示的类:
public class TagManager {
private final Context mCtx;
public TagManager (Context ctx) {
this.mCtx = ctx;
}
}
使用和使用有什么区别
这个.mCtx = ctx;
相对
mCtx = ctx;
据我所知,他们都做同样的事情,但我找不到任何讨论。
如果我创建一个如下所示的类:
public class TagManager {
private final Context mCtx;
public TagManager (Context ctx) {
this.mCtx = ctx;
}
}
使用和使用有什么区别
这个.mCtx = ctx;
相对
mCtx = ctx;
据我所知,他们都做同样的事情,但我找不到任何讨论。
肯定是一样的。这只是 CodeStyle 的问题 - 由您来选择您更喜欢的内容。
唯一合理的情况。*是当您的参数和成员变量具有相同名称时。例如
private final Context ctx;
public TagManager (Context ctx) {
this.ctx = ctx;
}
但是,Android Code Style 告诉我们对成员变量使用 m*** 前缀,因此这种情况在您的类中应该很少发生。
祝你好运
在实例方法或构造函数中,this是对当前对象的引用——正在调用其方法或构造函数的对象
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
this.x
在示例中参考public int x
否int x
考虑一下:
public class foo {
private final int bla = 1;
public int blabla () {
int bla = 2;
return bla;//this will return 2
}
/
public class foo {
private final int bla = 1;
public int blabla () {
int bla = 2;
return this.bla;//this will return 1
}