Java 값별 전달 및 참조
제공된 Java 코드에서 toyNumber 변수는 값으로 play()에 전달됩니다. 방법. 이는 변수의 복사본이 메서드 내에서 생성되고 메서드 내에서 수정된 내용이 원래 변수에 반영되지 않음을 의미합니다. 결과적으로 main()의 toyNumber가 play() 메서드 내에서 수정된 후에도 변경되지 않은 상태로 유지됨을 보여주는 출력이 표시됩니다.
Java의 프리미티브에 대한 참조별 전달과 동등한 결과를 얻으려면 다음을 고려할 수 있습니다. 다음 옵션:
객체에 대한 참조 전달
기본 변수를 멤버 변수로 캡슐화하는 클래스를 만듭니다. 이 클래스의 인스턴스를 메소드에 전달하여 기본 변수에 대한 참조를 효과적으로 전달합니다.
수정된 값 반환
play() 메소드를 수정하여 수정된 값을 반환합니다. 장난감번호. 이를 위해서는 반환된 값을 원래 변수에 할당하기 위해 main()의 호출을 업데이트해야 합니다.
클래스 또는 정적 변수
두 함수가 동일한 클래스 또는 클래스 내에 정의된 경우 예를 들어, toyNumber를 클래스 또는 정적 변수로 정의할 수 있습니다. 이렇게 하면 두 함수 모두에 액세스할 수 있으며 수정 사항이 원래 변수에 반영되도록 합니다.
단일 요소 배열
기본 변수를 포함하는 단일 요소 배열을 전달합니다. 이는 해킹으로 간주되지만 참조에 의한 전달과 유사한 동작을 달성하는 데 사용할 수 있습니다.
이러한 기술을 채택하면 Java의 기본 유형에 대한 참조에 의한 전달 동작을 효과적으로 에뮬레이트할 수 있으므로 다음을 수행할 수 있습니다. 메소드에 인수로 전달되는 경우에도 원래 변수를 수정합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3