当成员变量和局部变量重名,可以用关键字this来区分。
this:代表对象,代表哪个对象呢?当前对象
this就是所在函数所属对象的引用
简单说,哪个对象调用了this所在的函数,this就代表哪个对象
class Student//定义一个类,命名为Student
{
private String name;//姓名
private int age;//年龄
public void setName(String name)//设置姓名
{
this.name=name;
}
public String getName()//获取姓名
{
return name;
}
public void setAge(int age)//设置年龄
{
this.age=age;
}
public int getAge()//获取年龄
{
return age;
}
}
public class studentDemo {
public static void main(String[] args)
{
//创建一个对象
Student s1=new Student();
s1.setAge(10);
s1.setName("长江七号");
System.out.println(s1.getName()+"---"+s1.getAge());
}
}
内存图例
image.png应用场景:
自定义类中的两个参数进行比较
例:
两个学生的Age进行比较
//在Student类中增加一个方法,作为比较age大小
public boolean compare(Student p)
{
return this.age==p.age;//this表示当前调用函数的对象,表示函数的参数,Student类的参数P
}
调用:
Student s1=new Student();
s1.setAge(10);
// s1.setName("长江七号");
s2.setAge(20);
// System.out.println(s1.getName()+"---"+s1.getAge());
Student s2=new Student();
s2.compare(s1);//
网友评论