Java函数形参"传值"和"传引用"的区别
来源:互联网 发布:js模块化是什么意思 编辑:程序博客网 时间:2024/06/05 16:43
public class TestFun2 {public static void changeStr(String str){str="hello"; //形参指向字符串 “hello”}public static void main(String[] args) {String s="1" ;changeStr(s);System.out.println("s="+s); //实参s引用没变,值也不变}}
Java函数形参"传值"和"传引用"的区别:
(一)基本数据类型:传值,方法不会改变实参的值。
public class TestFun {public static void changeInt(int i){i=5;}public static void main(String[] args) {int a=0 ;changeInt(a);System.out.println("a="+a);}}
程序执行结果:a=0
(二)对象类型参数:传引用,<"方法体内改变形参引用,不会改变实参的引用">,<"但有可能改变实参对象的属性值">
(1)方法体内改变形参引用,但不会改变实参引用 ,实参值不变。
程序执行结果:s=1
(2)方法体内,通过引用改变了实际参数对象的内容,注意是“内容”,引用还是不变的。
public class TestFun2 {public static void changePersonAge(Person person){person.age += 10; //形参指向Person对象的值改变}public static void main(String[] args) {Person person = new Person(20);changePersonAge(person);System.out.println("person.age="+person.age); //实参s引用没变,但引用对象的值改变了}}class Person {public int age;public Person(int age) {this.age = age;}}
程序执行结果:person.age=30;
- Java函数形参"传值"和"传引用"的区别
- Java函数传参 Java引用和C++引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- java 函数形参传值和传引用的区别
- 函数指针传参和引用传参的区别
- Java函数传递引用和值的区别
- Java中传值和传引用的区别
- 函数指针和函数引用的区别
- 函数指针和函数引用的区别
- Java中的形参和实参的区别以及传值调用和传引用调用
- Java中的形参和实参的区别以及传值调用和传引用调用
- Java中的形参和实参的区别以及传值调用和传引用调用
- Java函数中传值与传引用的区别
- 函数返回const引用和普通引用的区别
- php 函数参数引用和普通变量 传参区别
- hdu 1540 Tunnel Warfare
- 关于运行ARM开发板上SD变成只读文件解决方案
- uva-146 - ID Codes
- Extended WPF toolkit
- ios监听静音键和音量键事件
- Java函数形参"传值"和"传引用"的区别
- POJ 1985 树的直径(最长链)
- 几经挣扎,选择了Cocos2D-x
- 一个暂未理解的c问题
- Handler入门及操作
- 单调队列裸题 fzu 1894 志愿者选拔
- linux下对磁盘分区详细步骤
- java中的finally
- “笔记本无线网络搜索不到自家信号,却能搜到其他公司的信号”解决方法