java中this关键字的用法

Java中的this关键字用于引用当前对象。它可以用于以下几种情况:

在构造函数中,this关键字可以用来调用同一个类中的另一个构造函数。这种情况下,this关键字必须是构造函数中的第一条语句。

在实例方法中,this关键字可以用来引用当前对象的成员变量或方法。

在静态方法中,this关键字不能使用,因为静态方法不属于任何对象。

在匿名内部类中,this关键字可以用来引用外部类的对象。

在方法链式调用中,this关键字可以用来返回当前对象,以便实现方法链式调用。

例如:

public class Person {
    private String name;
    private int age;

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

    public Person() {
        this("Unknown", 0); // 调用另一个构造函数
    }

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

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

    public String getName() {
        return this.name;
    }

    public int getAge() {
        return this.age;
    }

    public Person getPerson() {
        return this; // 返回当前对象
    }
}

在内部类中,this关键字可以用来引用内部类的对象。如果内部类和外部类有同名的成员变量或方法,可以使用this关键字来区分。

在Lambda表达式中,this关键字可以用来引用外部类的对象。

在方法参数中,this关键字不能使用。

总之,this关键字在Java中非常常用,可以用来引用当前对象,调用同一个类中的另一个构造函数,引用当前对象的成员变量或方法,返回当前对象,引用内部类的对象等等。