一、Java中,方法的参数可以是基本类型,也可以是复合类型(类、数组、接口)。基本类型作为方法参数时,参数传递的是变量值,而不是变量地址值。因此,不能改变调用方法中的参数值。复合类型作为方法参数时,参数传递的是对象的地址值,因此,对参数的改变会影响到原来的参数值。例如:
程序结果:
t.x=5
t.x=10
二、不光是对象作为方法参数时与C++中情况不同,就算只是两个对象之间的赋值,也是传递地址。例如:
程序结果:
t1.x=10
t2.x=10
t1.x=20
t2.x=20
t1.x=30
t2.x=30