Java面向对象中this关键字详解 意义+实例讲解【hot】

this关键字

>>>便于理解简单的定义

this关键字可以简单的理解为,谁调用this所在的方法,this就是谁。

类的构造函数与getter、setter方法常用到this关键字(JavaBean)
JavaBean是一种可重用的Java组件,它可以被Applet、Servlet、SP等Java应用程序调用.也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。

public class Person {
    //==========静态属性===========
    private String name; //姓名
    private int age;     //年龄
    private String gender;  //性别

    //==========动态行为===========
    public void readBook(String book) {
        System.out.println("reading " + book);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;//this.name就是上面的private String name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }
}

>>>官方定义(查自菜鸟教程)

this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this 的用法在 Java 中大体可以分为3种:
1.普通的直接引用
这种就不用讲了,this 相当于是指向当前对象本身。
2.形参与成员名字重名,用 this 来区分:

class Person {
    private int age = 10;
    public Person(){
    System.out.println("初始化年龄:"+age);
}
    public int GetAge(int age){
        this.age = age;
        return this.age;
    }
}
 
public class test1 {
    public static void main(String[] args) {
        Person Harry = new Person();
        System.out.println("Harry's age is "+Harry.GetAge(12));
    }
}

运行结果

初始化年龄:10
Harry's age is 12

可以看到,这里 age 是 GetAge 成员方法的形参,this.age 是 Person 类的成员变量。

原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807352.html