1. 方法参数传递是值还是引用
- 如果为基本数据类型(8种)则为值传递
- 引用类型可分为类引用类型(类)、接口引用类型(接口)和数组引用类型(数组)(其实引用传递是特殊值传递,传递为内存的地址)
- 包装类比较特殊 java会自动拆箱 虽然实参传递是引用地址 但形参已经是拆箱后的内容 两者不相同无法作修改
结论:
Java基本数据类型传递参数时是值传递;
引用类型传递参数时是引用传递。值传递时,将实参的值传递一份给形参;
引用传递时,将实参的地址值传递一份给形参。值传递时,实参把它的值传递给对应的形参,函数接收的是原始值的一个拷贝,此时内存中存在两个相等的基本类型,即实参和形参,后面方法中的操作都是对形参这个值的修改,不影响实参的值。
引用传递时,实参的引用(地址,而不是参数的值)被传递给方法中相对应的形参,函数接收的是原始值的内存地址;在方法执行中,形参和实参内容相同,指向同一块内存地址,方法执行中对引用的操作将会影响到实际对象。