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。

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