Java中的值调用和引用调用

在java中只有值调用,没有引用调用。如果我们调用一个传递值的方法,它被称为按值调用。在被调用方法中所做的更改在调用方法中不受影响。
通过在Java值呼叫的示例
【Java中的值调用和引用调用】在按值调用的情况下,原始值不变。举个简单的例子:

class Operation{ int data=http://www.srcmini.com/50; void change(int data){ data=data+100; //changes will be in the local variable only } public static void main(String args[]){ Operation op=new Operation(); System.out.println("before change "+op.data); op.change(500); System.out.println("after change "+op.data); } }

Output:before change 50 after change 50

通过在Java值呼叫的另一个实施例
通过引用原始值调用的情况下,如果我们做的调用方法的改变而改变。如果我们在任何地方原始值的传球对象,原始值将被改变。在这个例子中我们传递对象作为一个值。让我们举一个简单的例子:
class Operation2{ int data=http://www.srcmini.com/50; void change(Operation2 op){ op.data=op.data+100; //changes will be in the instance variable } public static void main(String args[]){ Operation2 op=new Operation2(); System.out.println("before change "+op.data); op.change(op); //passing object System.out.println("after change "+op.data); } }

Output:before change 50 after change 150

    推荐阅读