this关键字详解

来源:互联网 发布:mui项目实例源码 编辑:程序博客网 时间:2024/06/13 08:59

    自己之前刚开始学习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编程思想”。。。。

    




    


0 0
原创粉丝点击