在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);
}
}
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
评论前必须登录!
注册