Java中的this关键字

this 关键字在 Java 中主要有以下几个作用:

  1. 引用当前对象this 关键字可以用于引用当前类的实例变量(成员变量)或方法,以区分成员变量和局部变量(如果它们有相同的名字)。

  2. 调用当前对象的构造方法:在一个构造方法内部,this 可以用来调用同一个类的另一个构造方法。但需要注意的是,这种调用必须是构造方法的第一条语句。

  3. 返回当前对象的引用:在某些情况下,this 可以用于返回当前对象的引用。

以下来具体解释 this 的使用方式与作用

1. 引用当前对象的成员变量
public class Person {  
    String name; // 成员变量  
  
    public Person(String name) {  
        this.name = name; // 使用 this 引用当前对象的 name 成员变量  
    }  
  
    public void display() {  
        System.out.println(this.name); // 同样使用 this 引用当前对象的 name 成员变量  
                               // 在没有局部变量时可以不使用this关键字来引用当前对象的成员变量
    }  
}

        上述代码中,this.name 用于区分成员变量 name 和局部变量(如果方法内部有同名局部变量的话)。

2. 调用当前对象的构造方法
public class Circle {  
    double radius;  
  
    public Circle() {  
        this(1.0); // 调用当前类的另一个构造方法  
    }  
  
    public Circle(double radius) {  
        this.radius = radius;  
    }  
}

        上述代码中,无参构造方法 Circle() 使用 this(1.0); 调用了有参构造方法 Circle(double radius)

3. 返回当前对象的引用(较少见)
public class ListNode {  
    int val;  
    ListNode next;  
  
    public ListNode(int val) {  
        this.val = val;  
        this.next = null;  
    }  
  
    // 示例:在链表中添加节点  
    public ListNode add(int val) {  
        ListNode newNode = new ListNode(val);  
        if (this.next == null) {  
            this.next = newNode;  
            return this; // 返回当前节点,以便链式调用  
        }  
        this.next.add(val); // 递归地在后续节点上添加  
        return this; // 同样,返回当前节点  
    }  
}

        注意:上述 add 方法的链式调用逻辑需要做一些调整才能正确工作(例如,通过返回 this.nextnext 为非空时),因为当 this.next 非空时,我们实际上是在 this.next 指向的节点上调用 add 方法,而当前节点的 next 指针应该指向新添加的节点。这里只是为了展示 this 可以作为引用返回的概念。

总结:this 在 Java 中主要用于引用当前对象及其成员变量或方法,以及在构造方法中调用其他构造方法。

1234

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值