在Java中,利用类创建多个对象,只会为对象分配类中域的空间,而类中方法则是该类对象公用,因为若给每个对象分配单独的方法内存空间,太浪费内存空间了。
因为以上问题,就产生了 :
当不同对象调用方法时,方法怎么知道该操作那个对象的数据呢?
利用this解决,编译器会将调用方法对象的地址隐藏的传递给this,在方法中利用this就可以分辨那个对象调用了它。
this就是调用方法的对象本身。
在Java类中的非静态的方法中,都会隐含this指针。
this的两种情况:
在类的方法中,this就代表调用该方法的对象本身。
在构造方法中,this就代表要创建的对象本身。