this:
代表其所在函数所属对象的引用,当在函数内需要用到调用该函数的对象时,就用this。
应用:
当成员变量和局部变量重名时,可以用关键字this来区分。
this:代表对象--当前对象
this就是所在函数所属对象的引用。
简单说,哪个对象调用了this所在函数,this就代表哪个对象。
this也可以用于在构造函数中调用其他构造函数
但是只能定义在构造函数的第一行,因为初始化动作要先执行
定义一个Person类:
class Person{
private String name;
private int age;
Person(){
name="baby";
age=1;
System.out.println("person run");
}
Person(String name){
this.name=name;
}
Person(String name,int age){
/*this也可以用于在构造函数中调用其他构造函数
但是只能定义在构造函数的第一行,因为初始化动作要先执行*/
this(name);/*就相当于this.name=name;因为前面已经用过,且引用的是构造函数里的
所以不可用this.Person()或者Person()而是用this(name);
因为this代表对象,Person为构造函数也代表对象*/
this.age=age;
}
public void speak(){
System.out.println(name+":"+age);
}
}
PersonDemo类中:
public class PersonDemo {
public static void main(String[] args) {
Person p1=new Person("Haha",30);
p1.speak();
}
}
运行:
![](https://img.haomeiwen.com/i4519446/3d45ec1b73635b21.png)
实例应用:
在Person类中添加:/* 判断是否是同龄人 */ public boolean compare(Person p){ /* if(this.age==p.age) return true; else return false;*/ return this.age==p.age; }
在main方法中添加:Person p1=new Person("Haha",32); Person p2=new Person("Ahah",10); p2.compare(p1)
运行结果为false.
总结:
只要方法当中用到本类对象,全用this表示对象
网友评论