美文网首页
day07_面向对象_this关键字

day07_面向对象_this关键字

作者: 简单的书写点 | 来源:发表于2018-10-15 23:55 被阅读0次

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

          本文链接:https://www.haomeiwen.com/subject/uosfzftx.html