对Java中this的理解

假如有一个People类:

class People{
    void eat(int i){
        ...
    }
}

它的两个对象都调用eat方法:

People people1=new People();
People people2=new People();
people1.eat(1);
people2.eat(2);

那这个方法是如何知道是被谁调用的呢?

其实在调用方法时,编译器会把调用方法的对象的引用作为第一个参数传递给方法,可以理解成这样:

People.eat(people1,1);
People.eat(people2,2);

使用this关键字其实就是获取的这个引用。

posted @ 2017-11-20 16:04  我掉毛别理我  阅读(124)  评论(0)    收藏  举报