day07_面向对象_this关键字

当成员变量和局部变量重名,可以用关键字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);//

你可能感兴趣的:(day07_面向对象_this关键字)