猿教程 Logo

值传递和引用传递

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

 如果我们调用一个传递值的方法,则称为按值调用。 在被调用方法中完成的更改在调用方法中不受影响。



在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);

 }
}
Output:before change 50
       after change 50

在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);

 }
}
Output:before change 50
       after change 150
阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/call-by-value-and-call-by-reference-in-java.html