为什么返回类型为空的方法,调用对象时方法生效,基本类型不生效??

为什么返回类型为空的方法,调用对象时方法生效,基本类型不生效??

img

img

1、方法的形参的值是不可修改的,基本数据类型作为方法形参的值是基本数据类型本身,引用类型作为方法形参的值是引用类型指向的地址值,所以基本数据类型作为方法形参其本身不可修改,引用类型作为方法形参其指向的地址值不可修改,但是引用类型的属性的值是可以修改的,因为修改引用类型属性值不影响其本身指向地址的值。
2、你的第一个Person是一个类,其对象是引用类型作为形参在方法内部修改person.age的值是修改的Person的属性值,其地址值并没有改变,所以是可以的;第二个是a是int类型即基本数据类型,其作为方法形参要修改的是其值本身,是不可修改的,所以第二个是不会变化的。

首先,java参数传递的方式是值传递,对于基本类型,传的就是变量指向的值,如int类型的数字1,此时方法外的变量和方法内的变量,所以方法内的变量值再怎么改变也不会影响方法外的变量。对于对象,传的是变量指向的对象的地址,此时方法外变量和方法内变量,指向的是同一个对象,所以方法内改变了对象方法外的变量也能看到这个改变

https://blog.csdn.net/mjm_1251162714/article/details/79145032

java关于类方法返回值是对象以及空返回的区别

第二个a的值没有改变,截图截错了,应该是
10
10