1、this简单概括
this关键词,表示某个对象。
1)、this可以出现在实例方法和构造方法中,但是不能出现在类方法中。
2)、在构造方法中使用this,代表使用该构造方法所创建的对象。
3)、在实例方法中使用this,代表正在调用该方法的当前对象。
2、实例讲解
对于Java的初学者来说,一般会误解很多名词,比如对象的实例化,对象引用,对象。
假如定义一个People类
public class People
{
String name;
String gender;
int age;
public static void main(String[] args)
{
People people=new People("aaa");//调用构造方法,(构造方法)this就代表people
people.run();//people使用了run方法,所以(run中的)this代表people
}
public People(String name)
{
this.name=name;//this在构造方法中,代表使用该构造方法所创建的对象
}
void run()
{
People people1=this;//this在实例方法中,代表正在调用该方法的当前对象(people),将people赋值给people1
People people2=new People("bbb");
System.out.println(people1.name+"跑的快");
System.out.println(people2.name+"跑的快");
}
}
在People类中,People people=new People("aaa"); new People("aaa")是新生成的对象。people 则是对象引用。也就是说用people来指向、代表新生成的对象。对象就是实例,所以生成对象的过程就是一个对象实例化的过程。一般书中就直接说people是一个对象(前提是在people引用已被赋值的基础上才可以这么说)。如果People people=null;(这样people只是一个指向null的引用而已)。