欢迎使用CSDN-markdown编辑器

来源:互联网 发布:淘宝开店能挣钱吗 编辑:程序博客网 时间:2024/05/21 09:00

java中一个函数体调用另外一个函数体的时候,如果需要传递被调用者以数据的话就涉及到了实参和形参的关系了
在函数体和被调用的函数体之间传递的数据在两者之间有不同的名称,变量,函数表达式,函数,常量等在调用者函数体中被称为实参,被调用者函数体中被成为形参。
java定义两者之间传递的方式有值传递和引用传递两种:
值传递:把调用者实参的内存空间赋值一份传递给形参,java给形参重新分配一个内存空间
引用传递:实参给形参传递的是内存的地址,形式有引用符&和指针*,操作形参相当于操作实参本身,但是无法变更或者修改实参的引用。
值传递方式形参的操作对实参没有影响,引用传递方式可以操作实参的内容,但无法操作实参的引用地址。
java中的基本数据类型当做值传递使用,java的对象类和自定义的对象类当做是引用传递使用。
例子:
public class ValueOrRefference {

public static void main(String[] args) {    HashMap<String, String> tMap  = new HashMap<>();    changeValue(tMap);    System.out.println(tMap.get("item"));    int a = 1;    changeValue2(a);    System.out.println(a);}public static void changeValue(HashMap<String, String> tMap) {    tMap.put("item", "this is change value");}public static void changeValue2(int a){    a = new Integer(3);}

}

0 0
原创粉丝点击