Java中this的本质

本文详细介绍了Java中的this关键字的使用,包括在普通方法、构造方法中的应用,以及与静态方法的区别。通过实例展示了this如何区分成员变量和局部变量,并在方法调用中的作用。在main方法中创建并调用了TestThis类的实例,演示了this的实践应用。

this的用法:

普通方法中:this总是指向调用该方法的对象。

构造方法中,this总是指向正要初始化的对象。

this不能用于static方法。

this是隐式参数,每个普通方法都有,由系统传入到方法中。

/**
 * this的用法:
 * 普通方法中:this总是指向调用该方法的对象。
 * 构造方法中,this总是指向正要初始化的对象。
 * this不能用于static方法。
 * this是隐式参数,每个普通方法都有,由系统传入到方法中。
 */
public class TestThis {
    int a,b,c;

    TestThis(){
        System.out.println("正要初始化对象:"+this);
    }

    TestThis(int a, int b){
        this();//调用无参的构造方法,必须必须位于第一行
        a = a;//这里指的是局部变量而不是成员变量
        //通过this区分成员变量和局部变量,成员变量就是第九行的abc
        this.a = a;
        this.b = b;
    }

    TestThis(int a,int b,int c){
        this(a,b);//调用带参的构造方法,必须必须位于第一行
        this.c = c;
    }

    void sing(){

    }
    void eat(){
        System.out.println("当前对象:"+this);
        this.sing();//调用本类中的sing()
        System.out.println("你妈喊你回家吃饭");

    }

    public static void main(String[] args) {
        TestThis hi = new TestThis(1,2);
        hi.eat();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值