首页 > Java > java教程 > 正文

参数如何传递

PHPz
发布: 2024-08-24 06:34:08
原创
878 人浏览过

将参数传递给方法的两种方法:

按值调用:

  • 复制子程序形参中参数的值。
  • 对方法内参数所做的更改不会影响原始参数。

参考调用:

  • 传递对参数的引用,而不是值。
  • 对参数所做的更改会影响调用中的原始参数。

原始类型通道:

  • 当传递原始类型(如 int 或 double)时,使用按值调用。
  • 该方法接收参数的副本,因此方法内所做的更改不会影响原始值。

示例:

class Test {
    void noChange(int i, int j) {
        i = i + j;
        j = -j;
    }
}

class CallByValue {
    public static void main(String[] args) {
        Test ob = new Test();
        int a = 15, b = 20;
        System.out.println("a and b before call: " + a + " " + b);
        ob.noChange(a, b);
        System.out.println("a and b after call: " + a + " " + b);
    }
}

登录后复制

对象通道:
当对象传递给方法时,Java 使用引用调用。
该方法接收对该对象的引用,这意味着该方法内所做的更改会影响原始对象。

示例:

class Test {
    int a, b;
    Test(int i, int j) {
        a = i;
        b = j;
    }
    void change(Test ob) {
        ob.a = ob.a + ob.b;
        ob.b = -ob.b;
    }
}

class PassObRef {
    public static void main(String[] args) {
        Test ob = new Test(15, 20);
        System.out.println("ob.a and ob.b before call: " + ob.a + " " + ob.b);
        ob.change(ob);
        System.out.println("ob.a and ob.b after call: " + ob.a + " " + ob.b);
    }
}

登录后复制

change() 方法中的更改会影响作为参数传递的 ob 对象。

原始类型和对象之间的区别:
原始类型:按值传递,方法的更改不会影响原始值。
对象:通过引用传递,对方法的更改会影响原始对象。

最终总结:
在 Java 中传递参数可以通过值或通过引用。原始类型通过值传递,而对象通过引用传递,导致对原始参数的影响不同。

Como os argumentos são passados

以上是参数如何传递的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板