공개반 T1 {
으아악}
내 이해:
rename 메서드의 aa는 스택 메모리에 있고, 기본 메서드의 aa는 힙 메모리에 있습니다. rename 메서드를 실행하면 기본 메서드의 aa 값이 수정되지 않습니다. 맞습니까?
迷茫2017-05-17 10:01:16
값에 의한 호출은 가장 일반적으로 사용되는 평가 전략입니다. 함수의 형식 매개변수는 호출 시 전달된 실제 매개변수의 복사본입니다. 형식 매개변수의 값을 수정해도 실제 매개변수에는 영향을 주지 않습니다.
참조로 호출되면 함수의 형식 매개변수는 복사본이 아닌 실제 매개변수에 대한 암시적 참조를 받습니다. 즉, 함수 매개변수의 값이 수정되면 실제 매개변수도 수정된다는 의미입니다. 동시에 둘 다 동일한 값을 가리킵니다.
Java 핵심 기술(I)은 Java가 모두 값으로 전달된다고 언급했습니다. 우선 기본 유형의 경우 함수는 해당 값을 수정할 수 없으며 참조 유형의 경우 다른 객체를 가리키도록 수정할 수 없습니다. 그래서 그것은 모두 가치로 전달되었습니다.