浅谈Java中的this用法

本文深入解析Java中this关键字的基本用法,包括代表当前对象的成员变量、方法和对象本身,如何在内部类或匿名类中引用外部类的方法,以及在构造函数中调用同一类中其他构造函数的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本用法

1.  this.变量名代表当前对象的成员变量。this.方法名代表当前对象的成员方法。this代表当前对象。

2. 当在内部类或匿名类中时,this代表其所在的内部类或匿名类,如果要用外部类的方法和变量,则加上外部类的类名。例如:

public class HelloB {
    int i = 1;
 
    public HelloB() {
       Thread thread = new Thread() {
           public void run() {
              for (int j=0;j<20;j++) {
                  HelloB.this.run();//调用外部类的方法
                  try {
                     sleep(1000);
                  } catch (InterruptedException ie) {
                  }
              }
           }
       }; // 注意这里有分号
       thread.start();
    }
 
    public void run() {
       System.out.println("i = " + i);
       i++;
    }
   
    public static void main(String[] args) throws Exception {
       new HelloB();
    }
}

上述代码转自 https://www.cnblogs.com/nolonely/p/5916602.html

上述代码表明在匿名类中如想使用外部类的方法,就在this前面加外部类名就可以引用外部类的方法,this此时代表当前匿名类thread。

3.  在构造函数中,通过this可以调用同一类中别的构造函数,当要注意一下几点:

     a. 在构造函数中调用时,this必须写在首行位置

     b. 在一个构造函数中只能使用this调用一次别的构造函数

     c .在非构造函数中不能使用this调用构造函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值