java在本类中使用this指针的作用,感觉加不加this指针运行结果都一样啊,这是怎么回事(在学习写坦克大战项目时,突然想到的问题,求大神教一教)
一般来说,this可以省略。可写可不写
有种情况例外:
构造函数
class A
{
public int x;
public A(int x)
{
this.x = x; //这里为了区分两个都叫x的变量,就要写
}
}
如果成员变量和函数里的局部变量重名的时候,加this访问的是自己的成员变量,不加就是局部变量了。
1.java里使用变量的时候 ,有个就近原则! 比如: 本类的方法里面有个和成员变量同名的变变量 或者 方法的形式参数 和成员变量名相同
如果不加this 它就使用最近的哪一个!! 就近原则
2.明了, 一看见this 就知道 是本类的成员变量**
1.java里使用变量的时候 ,有个就近原则! 比如: 本类的方法里面有个和成员变量同名的变变量 或者 方法的形式参数 和成员变量名相同
如果不加this 它就使用最近的哪一个!! 就近原则
2.明了, 一看见this 就知道 是本类的成员变量**
其实也不仅构造函数,一般函数,以及局部变量都可以和成员变量重名。
但是为何强调构造函数呢?因为一般情况下,我们建议你不同的变量用不同的名字。不要故意混淆。
但是构造函数我们建议你参数和对应的成员用相同的名字。
三楼说的对,假如你在某个方法里面声明了一个同名该类的成员变量,那么为了区分类的成员变量和方法申明的局部变量,用this做区分,还有在这种情况下,如果在该方法里面同名的这个如果不加this默认是方法里面的局部变量
this指的是本类中的方法,变量等
楼上的都已经解释清楚了
不是必须的。看你的参数中是否是有与类变量同名的,加上是为了区分开。
你只要记住this表示“当前的”就可以了。
大家都已经补充的非常全面了。