Java Language
참조 데이터 유형
수색…
참조 유형 인스턴스화
Object obj = new Object(); // Note the 'new' keyword
어디에:
-
Object
는 참조 형식입니다. -
obj
는 새 참조를 저장할 변수입니다. -
Object()
는Object
생성자에 대한 호출입니다.
무슨 일이야:
- 메모리의 공간이 오브젝트에 할당됩니다.
- 생성자
Object()
는 메모리 공간을 초기화하기 위해 호출됩니다. - 메모리 주소는
obj
저장되어 새로 생성 된 객체를 참조 합니다.
이것은 프리미티브와 다릅니다.
int i = 10;
실제 값 10
이 i
저장되는 곳.
역 참조
역 참조는에서 발생합니다 .
운영자:
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