今天有人问我 这两个 为什么执行结果不一样,不说了直接上图:
(1)值传递:
(2)引用传递:
其实这两者区别很简单:
在Java中
基本类型和基本的类型变量被当做参数传递给方法时,叫做值传递。在方法实体中,不会改变传递前的变量值(实质是传的对象值的拷贝),所以例子一中两次Print的值都为“hello”。
对象和引用型变量当做参数传递给方法时,叫引用传递。在方法实体中,会影响到传递前的变量值(传的是栈中对象的地址),可以改变 其指向的对象属性值,所以例子二中Print的值不一样