Java this关键字详解

在Java中,this关键字是一个非常重要的概念,它主要用于指代当前对象。this关键字在Java中有多种用法,主要包括以下几个方面:

1、引用当前对象的成员变量
当局部变量(方法参数或方法内定义的变量)与成员变量同名时,可以使用this关键字来引用成员变量,以区分局部变量和成员变量。

public class MyClass {  
    int number = 10; // 成员变量  

    public void setNumber(int number) {  
        this.number = number; // 使用this来引用成员变量  
    }  

    public void display() {  
        System.out.println(this.number); // 也可以不加this,但加上更清晰  
    }  
}

2、调用当前对象的成员方法
在方法内部,可以使用this关键字来调用当前对象的另一个成员方法(包括构造方法)。

public class MyClass {  
    public void method1() {  
        System.out.println("调用method1");  
    }  

    public void method2() {  
        this.method1(); // 调用当前对象的method1方法  
        System.out.println("调用method2");  
    }  
}

3、在构造方法中调用另一个构造方法
在构造方法内部,可以使用this关键字来调用同一个类的另一个构造方法。但需要注意的是,这种调用必须是构造方法中的第一条语句。

public class MyClass {  
    int number;  

    public MyClass() {  
        this(10); // 调用另一个构造方法  
    }  

    public MyClass(int number) {  
        this.number = number;  
    }  
}

4、返回当前对象的引用
在某些情况下,this关键字可以用于返回当前对象的引用。这在链式调用中特别有用。

public class MyClass {  
    public MyClass add(int number) {  
        // 假设这里有一些操作  
        return this; // 返回当前对象的引用  
    }  

    public void display() {  
        System.out.println("显示一些信息");  
    }  

    // 使用示例  
    public static void main(String[] args) {  
        MyClass obj = new MyClass().add(10).display(); // 链式调用  
    }  
}

注意:上面的链式调用示例中,display()方法实际上没有返回值(返回类型为void),所以链式调用在display()之后就会中断。为了完整的链式调用,display()方法应该返回一个MyClass类型的对象,通常是this

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值