2011-12-19 1 views
0

빠른 질문, 나 혼자서 만족스러운 답변을 찾으려고 노력했습니다.Java이 매개 변수

두 클래스 Object1과 Object2가 있다고 가정 해 봅시다. 지금은 Object2는 오브젝트 1의 자원을 사용하고 싶지 그래서 나는이

Object1 obj1; 
    public Object2(Object1 o){ 
     obj1 = o; 
    } 

을하고 오브젝트 1에 나는이

new Object2(this); 

을이 각 Object2Object1을 제공 하는가, 또는 단순히 같은 오브젝트 1 가리 않는다 기대 되는가?

+2

** 전체 ** 코드 스 니펫을 표시하십시오. 나는 무엇을 여기에서 부르는 지 전혀 모른다. ... –

답변

1

예상대로 Object1을 가리 킵니다. 이것은 Java가 객체 변수를 "참조"("C"로 생각하면 "포인터")로 저장하고이 참조를 값으로 전달할 때 객체가 참조하는 함수를 제공하기 때문입니다.이 좋은 기본 설명서가 있습니다. 기능 here. 희망이 도움이됩니다. 당신이 사용할 수있는

+0

대단히 고마워. 예상보다 처리량이 많을 것이라고 걱정했습니다. 이것은 좋은 소식입니다. – Jeremy

1

단순히 Object1에 대한 참조 (점)를 사용합니다. oObject2 클래스로 변경할 때마다 원본 obj1 개체도 변경됩니다.

0

는 IS-A 관계

Object2는 오브젝트 1을 확장 {}

는 이제 Object2가 Object2 자원뿐만 아니라 오브젝트 1 자원을 이용할 수있다. 당신이 사용할 수있는, 당신은 그 반대한다고 가정하는 것은 HAS-A 관계를

오브젝트 1이

오브젝트 1 {Object2 obj2보다 같은 Object2 참조가; }

Object2이

Object2 {오브젝트 1 OBJ1 오브젝트 1과 같은 참조 번호를 갖고; }