当一个对象被当作参数传递给一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,到底是值传递,还是引用传递? 答案:是值传递。Java 语言的方法调用只支持参数的值传递。当一个对象实例作为一个 参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调 用过程中被改变,但对对象引用的改变是不会影响到调用者的。C++和 C#中可以 通过传引用或传输出参数来改变传入的参数的值。 理解下 值传递(pass by value)是指在调用方法时将实参复制一份传递到方法中,这样当方法对形参进行修改时不会影响到实参。 引用传递(pass by reference)是指在调用方法时将实参的地址直接传递到方法中,那么在方法中对形参所进行的修改,将影响到实参。 形参:定义方法名和方法体的时候使用的参数,目的是用来接收调用该方法时传入的参数。 实参:调用有参方法时传入的参数,方法名后面的括号中的参数通常被称为“实参”。 核心区别一个是定义,一个是调用时期的 public class Cmower { public static void main(String[] args) { //args 形参 System.out.println("hello world");// "hello world" 实参 } } 基本类型值传递 public class Cmower …
Continue reading →