java的this

2023-10-17 20:28:48 浏览数 (2)

this 关键字是Java中的一个特殊引用,它代表当前对象的引用。它主要用于区分成员变量和局部变量、调用当前对象的方法以及构造函数中调用其他构造函数。下面是对this关键字的详细讲解:

  1. 区分成员变量和局部变量:在类中,如果一个成员变量与一个局部变量同名,通过使用this关键字可以明确指定成员变量。例如:
代码语言:javascript复制
public class Person {
    private String name;

    public void setName(String name) {
        this.name = name;
    }
}

在上面的例子中,this.name表示成员变量name,而name表示方法的局部变量。

  1. 调用当前对象的方法:在对象的一个方法中,可以使用this关键字调用同一个对象的其他方法。例如:
代码语言:javascript复制
public class Person {
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println(this.getName());
    }

    public String getName() {
        return name;
    }
}

在上面的例子中,printName()方法中通过this.getName()调用了同一个对象的getName()方法。

  1. 在构造函数中调用其他构造函数:在一个类中定义多个构造函数时,可以使用this关键字调用其他构造函数,以减少重复代码。这种调用必须放在构造函数的第一行。例如:
代码语言:javascript复制
public class Person {
    private String name;
    private int age;

    public Person() {
        this("John Doe", 30);
    }

    public Person(String name) {
        this(name, 30);
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

在上面的例子中,有三个构造函数,分别是默认构造函数、只有name参数的构造函数和有name和age参数的构造函数。在前两个构造函数中使用了this关键字调用了第三个构造函数。

邀请人:堕落飞鸟

0 人点赞