java笔记--关键字this及应用

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();


    }

}

运行:
image.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表示对象

你可能感兴趣的:(java笔记--关键字this及应用)