JAVA中的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了。

猜你喜欢

转载自blog.csdn.net/ChrisHxu/article/details/70677206