java - 도움말: 다음 코드를 자세히 분석해 보니 헷갈립니다.
阿神
阿神 2017-05-17 09:59:16
0
3
730

공개반 T1 {

으아악

}
내 이해:
rename 메서드의 aa는 스택 메모리에 있고, 기본 메서드의 aa는 힙 메모리에 있습니다. rename 메서드를 실행하면 기본 메서드의 aa 값이 수정되지 않습니다. 맞습니까?

阿神
阿神

闭关修行中......

모든 응답(3)
迷茫

값에 의한 호출은 가장 일반적으로 사용되는 평가 전략입니다. 함수의 형식 매개변수는 호출 시 전달된 실제 매개변수의 복사본입니다. 형식 매개변수의 값을 수정해도 실제 매개변수에는 영향을 주지 않습니다.

참조로 호출되면 함수의 형식 매개변수는 복사본이 아닌 실제 매개변수에 대한 암시적 참조를 받습니다. 즉, 함수 매개변수의 값이 수정되면 실제 매개변수도 수정된다는 의미입니다. 동시에 둘 다 동일한 값을 가리킵니다.

Java 핵심 기술(I)은 Java가 모두 값으로 전달된다고 언급했습니다. 우선 기본 유형의 경우 함수는 해당 값을 수정할 수 없으며 참조 유형의 경우 다른 객체를 가리키도록 수정할 수 없습니다. 그래서 그것은 모두 가치로 전달되었습니다.

Ty80

아니요, 함수 내부의 aa는 새 주소를 가리키고 외부 aa는 여전히 "BB" 주소를 가리키므로 결과는 BB입니다

伊谢尔伦

함수는 값을 전달할 때 MAIN 함수에 AA를 전달하지 않고 AA 값을 복사한 다음 전달합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿