Java에서는, 기준으로서 (일본어 클래스 타입 이외) 복잡한 유형은, 이후는 참조로 전달되는 것을 유지하는 오브젝트의 메소드 내의 값에서, 상기 방법으로 변형된다. 일본어 입력을 전달하는 등 INT 이중 원시 입력하는 값이다.
자바 코드 :
공용 클래스 테스트 { 정적 클래스 정점 { 공공 더블 X; 공공 더블 Y; } 정적 이중 ABS (정점 V)는 { Math.sqrt을 (VX * VY, VX + * VY)를 호출; } 정적 공극 크기 (정점 V 이중 F) { VX = VX * F; * VY VY = F; } 공공 정적 무효 메인 (문자열 []에 args) { 정점 정점 = 새로운 정점 (); vertex.x = 3; vertex.y = 4; 에서 System.out.println (ABS (정점)); // 5 스케일 (정점, 10); 에서 System.out.println (ABS (정점)); // 50 } }
이동에있어서의 구조는, 디폴트 값, 즉 동작의 원래 값의 복사본은 원본 값을 수정하지 않고 통과한다. A * T와받는 사람 경우, 수신자가 지정한 값을 변경할 수 있습니다. 이 방법은 종종 수신기를 수정해야하기 때문에, 수신기는 더 일반적으로받는 포인터의 비율이다.
이동 코드 :
기본 패키지 수입 ( "FMT" "수학" ) 를 입력 정점 구조체 { X, Y의 float64 } FUNC (V 정점) 복근 () float64 { 반환 math.Sqrt (VX * VX + VY * VY) } FUNC (절 * 정점) {(float64 F) 스케일 VX = VX * f는 VY = F * VY } 메인 FUNC () { = 정점 {3,4} V v.Scale (10) fmt.Println (v.Abs ()) // 50 }
라인 (16)을 제거한 경우 * *이 값에 의해 전달된다없이 출력값, 즉, 5, 원래 값 또는 이전의 사본 플러스 *은 원래 값을 수정한다.