Java的传值机制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

方法中最重要的一个部分就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数传递值,即方法被调用时参数变量必须有具体的值。

一、传值机制是什么?

在Java中,方法的所有参数都是“传值”的,也就是说方法中参数变量的值是调用者指定的值的副本。例如,如果向方法的int型参数x传递一个int 值,那么参数x得到的值是传递的值的副本。习惯上称方法的参数为形参,称向其传值的变量或常量为实参。在实参向形参传值之后,程序如果改变形参的值,不会影响实参的值,同样,改变实参的值(假如实参是变量) 也不会影响形参的值。实参和形参的关系类似于人们生活中的“原件”和“复印件”的关系,原件被复印之后,改变“复印件”不影响“原件”,改变“原件”也不影响“复印件”。

二、代码演示

代码如下(示例):

public static void main(String[] args){
    
    int a=10:
    int b=20;
    AA obg=new AA();
    boj swap(a,b);
    
    System.out.println("a,b使用方法后:"+a+"\n"+b);//a=10   b=20
class AA{
    public void swap(int a,int b){
        System.out.println("a,b交换之前:"+a+"\n"+b);//a=10  b=20
        int tem=a;
        a=b;
        b=tem;
        System.out.println("a,b交换之后:"+a+"\n"+b);//a=20   b=10
}

代码如下(示例):


总结

实际上程序在使用方法时开辟了一个新的栈,这个栈有a,b的值和之前a,b的值相同,但是两个处在不同的栈内,对第二个方法里面的a,b值改变不影响原来a,b的值。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值