this关键字的三种用法

this关键字的三种用法

1.在本类的成员方法中访问本类的成员变量
public class YanShi {
    // 成员变量
    int num = 30;
    // 成员方法
    public void showNum(){
        int num = 10;
        
        System.out.println(num); // 输出本方法中的局部变量 num
        System.out.println(this.num); // 输出本类中的成员变量 num

    }
    
}
2.在本类的成员方法中访问本类的另一个成员方法
public class YanShi {

    public static void main(String[] args) {
        YanShi shi = new YanShi();
        shi.methodB();
    }

    public void methodA(){
        System.out.println("执行了A方法");
    }

    public void methodB(){
        methodA(); // 直接调用了A方法
        this.methodA(); // 通过this强调的调用了A方法
        System.out.println("执行了B方法");
    }

}

/*结果:
执行了A方法
执行了A方法
执行了B方法
*/

3.在本类的构造方法中调用本类的另一个构造方法

this(…)调用必须是构造方法中的第一个语句,也是唯一 一个

因此super与this 这两种构造调用,不能同时使用。因为super()调用也要求是第一个语句

this( ) 不能在普通方法中使用,只能写在构造方法中。

public class YanShi {

   public YanShi(){
       
       this(1);  // 本类的无参构造调用本类的有参构造
       // this(1,2)  错误的写法,与上一行语句的this调用无法同时存在
       
   }

    public YanShi(int a){
       this(1,2);
    }

    public YanShi(int a, int b){

    }

}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值