this关键字详解

    自己之前刚开始学习Java的时候,看过一些this的用法,但大多数讲的都是教你怎样使用this这个关键字,并没有很清楚的讲解Java中为何要使用this这个关键字,本文章并不阐述this如何使用,重点介绍this关键在Java语言中是如何被“制造”出来的。

   首先有一个问题,Java中当一个类有多个对象的时候,如a和b两个对象,在a和b都调用同一个方法时,Java如何知道是被a调用的还是被b调用的?

 

public class Test {

   public static void main(String args[]){

     Car b=new Car();

     Car a =new  car ();

               a.run(70);

               b.run(80);

 }

    }

 class Car{

    public void run(int num){

    

  }

}


   面向对象的语法来编写代码时,它会用“发送消息给对象”的方式来告诉究竟是哪个对象调用了此方法。因此 Java的编译器为我们开发人员做了一些幕后工作,它暗自把”所操作对象的引用“作为第一个参数传给了run()方法,因此上边两个方法的调用就会变成下面这个样子滴。

    Car.run(a,70);
    Car.run(b,80);


   这是内部类的表示形式,我们自己并不能如此的写代码,但它能帮助我们更好的了解实际上Java中如何区别是那个对象调用此方法。

    如果我们希望在方法的内部获得对象向的引用,由于这个引用是编译器"偷偷"的自己传入的,因此没有标示符可用,但是,为此专门有个关键字this。this只能在方法内部使用,表示"调用方法的那个对象"的引用。this的用法和其他对象引用并无不同,要注意的是,在一个方法内部调用同一个类的另一个方法时,就没必要使用this了。

    如果有同学想更进一步的学习this的用法请参考“Java编程思想”。。。。

    




    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值