之前一直持这样的看法:
Java的方法参数的传递有两种方式:
1. 基本类型采用值传递
2. 非基本类型采用引用传递
这一观点在许多地方也都出现过。今天在看了Core Java (8th Edition) 后才知道,Java的参数采用的都是值传递。而在调用对象的时候,之所以能对对象进行操作,是因为这里复制的是对象的引用,而非对象本身。方法执行完后,复制的引用被丢弃,但是对象却依然保留着。
之前一直持这样的看法:
Java的方法参数的传递有两种方式:
1. 基本类型采用值传递
2. 非基本类型采用引用传递
这一观点在许多地方也都出现过。今天在看了Core Java (8th Edition) 后才知道,Java的参数采用的都是值传递。而在调用对象的时候,之所以能对对象进行操作,是因为这里复制的是对象的引用,而非对象本身。方法执行完后,复制的引用被丢弃,但是对象却依然保留着。