3.5 this关键字
2020-03-13 本文已影响0人
姗婷
一、this:看上去是用于区分局部变量和成员变量同名的情况
this特点:this代表其所在函数所属对象的引用。 换言之:this代表本类对象的引用。
简单说:哪个对象在调用this所在的函数,this就代表哪个对象的引用
this的应用: 当在函数内需要用到调用该函数的对象时,就用this。但凡本类功能内部使用了本类对象,都用this表示。
类里面成员被使用全部是由对象完成,本类对象由this完成
class PersonDemo3
{
public static void main(String[] args)
{
Person p1 = new Person(20);
Person p2 = new Person(25);
boolean b =p1.compare(p2);
System.out.println(b);
}
}
class Person
{
private String name;
private int age;
Person(int age)
{
this.age = age;
}
Person(String nane,int age)
{
this.name = name;
this.age = age;
}
public void speak()
{
System.out.println("C:mame="+this.name+"age ="+this.age);
this.show();//this可以省略不写
}
public void show()
{
System.out.println(this.name);//this可以省略不写,目的只是方便阅读
}
//需求:给人定义一个用于比较年龄是否相同的功能,也就是是否同龄人。
public boolean compare(Person p)
{
return this.age == p.age;//this应用
}
}
二、this语句:用于构造函数间相互调用,
this语句只能放在构造函数的第一行,因为初始化要先执行。
private String name;
private int age;
Person()
{
}
Person(String name)
{
this();//就是调用Person()
this.name = name;
}
Person(String name,int age)
{
this(name);//调用 Person(String name)
this.age = age;
}