0

如果我创建一个如下所示的类:

public class TagManager {
private final Context mCtx;

public TagManager (Context ctx) {
    this.mCtx = ctx;
}

}

使用和使用有什么区别

这个.mCtx = ctx;

相对

mCtx = ctx;

据我所知,他们都做同样的事情,但我找不到任何讨论。

4

3 回答 3

4

肯定是一样的。这只是 CodeStyle 的问题 - 由您来选择您更喜欢的内容。

唯一合理的情况。*是当您的参数和成员变量具有相同名称时。例如

    private final Context ctx;
    public TagManager (Context ctx) {
        this.ctx = ctx;
    }

但是,Android Code Style 告诉我们对成员变量使用 m*** 前缀,因此这种情况在您的类中应该很少发生。

祝你好运

于 2012-09-02T15:14:06.353 回答
2

在实例方法或构造函数中,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 xint x

于 2012-09-02T15:15:15.010 回答
1

考虑一下:

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
}
于 2012-09-02T15:15:25.707 回答