📜  在Java中按值调用和按引用调用

📅  最后修改于: 2020-09-25 14:49:16             🧑  作者: Mango

Java中的按值调用和按引用调用

在java中只有值调用,没有引用调用。如果我们调用一个传递值的方法,它被称为按值调用。在被调用方法中所做的更改不会影响到调用方法。

在Java中按值调用的示例

在按值调用的情况下,原始值不会改变。让我们举一个简单的例子

class Operation{  
 int data=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);  
   }  
}  

Java中按值调用的另一个示例

在通过引用进行调用的情况下,如果我们在被调用方法中进行了更改,则原始值将被更改。如果我们传递对象代替任何原始值,则原始值将被更改。在此示例中,我们将对象作为值传递。让我们举一个简单的例子:

class Operation2{  
 int data=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);  
   }  
}