A. Java参数传递:值传递or引用传递
Java参数传递机制实质上是分为值传递和引用传递两种方式。
值传递: 基本类型:当基本类型作为参数传递时,传递的是值的拷贝。也就是说,方法接收到的参数是原始值的一个副本,方法内部对这个副本的任何修改都不会影响到原始值。
引用传递: 对象类型:当对象作为参数传递时,传递的是对象在内存中的引用。这意味着方法接收到的参数实际上是一个指向对象的指针,通过这个指针可以访问和修改对象的属性。但是,如果在方法内部让这个指针指向一个新的对象,那么原始对象并不会被改变,只是引用发生了改变。
区分要点: 内存中的存储方式:理解对象在内存中的存储方式是区分值传递和引用传递的关键。基本数据类型传递的是值本身,而对象传递的是其内存地址。 修改效果:对于基本类型,方法内部的修改不会影响到原始值;而对于对象,方法内部可以通过引用修改对象的属性,但不能直接改变引用的指向。
综上所述,Java的参数传递机制既包含值传递,也包含引用传递,主要区别在于传递的元素是值本身还是值的存储位置。