Java方法中的参数传递方式

来源:互联网 发布:淘宝人脸认证为何失败 编辑:程序博客网 时间:2024/04/30 14:08

在青岛东软培训半个多月了,把oracle基础过了一遍,又换了一个老师,又在重新学习Java基础,突然发现习以为常的参数传递有点不清楚,晚自习无聊就总结总结.

在Java语言中,参数传递时,一般存在两种参数传递的规则

1.按值传递(by value)

    使用该方式传递的参数,参数原始的值不发生变化    适用范围:八种基本数据类型和String    *String也是传递的地址,但是String对象一旦被改变,就是生成新的对象

2.按址传递(by address)

    使用该方式传递的参数,在方法内部修改参数的值时,参数原始的值发生改变    适用范围:除String以外的所有复合数据类型,包括数组.类和接口

下面是测试:

public static void main(String[] args) {        int a = 0;        int b [] = {1,2,3};        String c = "str";        System.out.println("=====参数传递前====");        System.out.println("int a = " + a);        System.out.println("int b[] = " + b[0]);        System.out.println("String c = " + c);        //方法调用,参数传递        change(a, b, c);        System.out.println("=====参数传递后====");        System.out.println("int a = " + a);        System.out.println("int b[] = " + b[0]);        System.out.println("String c = " + c);    }    public static void change(int i, int [] j, String k){        i = i + 9;        j[0] = j[0] + 9;        k = "String";    }

结果:这里写图片描述

1 0
原创粉丝点击