2011-01-08 86 views
1

我想知道如果我正确地得到它:也与这个关键字我可以区分字段和变量? 像这样:是否正确使用“this”关键字?

class X 
{ 
    int x; 
    public X(int x) 
    { 
    this.x=x; 
    } 
} 
+0

嗯,在这一点上我可能有点旧,但是我总是需要为类或结构的字段使用`m`前缀。 – 2011-01-08 12:47:19

回答

9

是,如果一个方法参数(或局部变量)具有相同的名称作为一个领域,你需要使用this区分两种。此外,StyleCop对于通过this完成的每个班级成员的访问都非常认真,但是否这是一个好主意可能需要辩论。它使事情更清晰,但也增加了许多视觉混乱。

+2

这就是所谓的“阴影”,它不只是StyleCop声音关于这个= D(http://leepoint.net/notes-java/data/variables/60shadow-variables.html) – 2011-01-08 12:29:58