Java-按值调用
时间:2020-02-23 14:36:24 来源:igfitidea点击:
在本教程中,我们将学习Java编程语言中的按值调用。
在Java中,我们传递给类方法的任何原始值实际上都是按值传递的。
意思是,在调用方法中所做的任何更改都不会反映在调用方法中。
例
在下面的示例中,我们的Addition类具有add100方法,该方法会将传递的值加100。
class Addition {
public void add100(int n) {
System.out.println("In add100() method of Addition class.");
System.out.println("Value of n before addition: " + n);
n = n + 100;
System.out.println("Value of n after addition: " + n);
System.out.println("Returning back to the calling method.");
}
}
public class Example {
public static void main(String[] args) {
//create an object
Addition obj = new Addition();
//variable
int n = 10;
System.out.println("In main() method of Example class.");
System.out.println("Value of n before call: " + n);
//pass an integer value
System.out.println("Passing value of n to add100() method of Addition class.");
obj.add100(n);
System.out.println("Back from add100() method of Addition class.");
System.out.println("In main() method of Example class.");
System.out.println("Value of n after call: " + n);
}
}
$javac Example.java $java Example In main() method of Example class. Value of n before call: 10 Passing value of n to add100() method of Addition class. In add100() method of Addition class. Value of n before addition: 10 Value of n after addition: 110 Returning back to the calling method. Back from add100() method of Addition class. In main() method of Example class. Value of n after call: 10
在上面的示例中,我们将值10从示例类的main()方法传递到加法类的add100()方法。
在add100()方法内部,我们将n的值加100。
当我们从被调用方法add100()返回到调用方法main()时,n的值保持不变,即10。
因此,我们可以说,当我们将值传递给方法时,实际上是在传递副本,并且在调用的方法内部进行的任何更改都不会反映出来。
这就是所谓的价值。

