수색…


참조 유형 인스턴스화

Object obj = new Object(); // Note the 'new' keyword

어디에:

  • Object 는 참조 형식입니다.
  • obj 는 새 참조를 저장할 변수입니다.
  • Object()Object 생성자에 대한 호출입니다.

무슨 일이야:

  • 메모리의 공간이 오브젝트에 할당됩니다.
  • 생성자 Object() 는 메모리 공간을 초기화하기 위해 호출됩니다.
  • 메모리 주소는 obj 저장되어 새로 생성 된 객체를 참조 합니다.

이것은 프리미티브와 다릅니다.

int i = 10;

실제 값 10i 저장되는 곳.

역 참조

역 참조는에서 발생합니다 . 운영자:

Object obj = new Object();
String text = obj.toString(); // 'obj' is dereferenced.

참조 해제는 참조에 저장된 메모리 주소 다음 에 실제 객체가 상주하는 메모리의 위치를 따릅니다 . 객체가 발견되면, 요구 된 메소드가 불려갑니다 (이 경우는 toString ).


참조의 값이 null , 참조 해제로 NullPointerException가 발생합니다 .

Object obj = null;
obj.toString(); // Throws a NullpointerException when this statement is executed.

null 즉 메모리 주소는 아무데도 리드하지 다음, 값이 없음을 나타냅니다. 따라서 요청 된 메소드를 호출 할 수있는 객체가 없습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow