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。
因此,我们可以说,当我们将值传递给方法时,实际上是在传递副本,并且在调用的方法内部进行的任何更改都不会反映出来。
这就是所谓的价值。