이 기사의 연구는 주로 아래에 설명 된대로 Java의 NULL "유형"의 관련 예가 포함됩니다.
먼저, 단순한 널 관련 질문을하면 NULL에 대한 우리의 토론을 유발할 것입니다. 나중에 공식 언어 매뉴얼에 따라 NULL "유형"을 해석합니다.
질문 : 다음 프로그램이 올바르게 실행될 수 있습니까?
분석:
출력은 : 하하
NULL은 모든 클래스 유형으로 강제 할 수 있기 때문에 이전 (NULL) NULL은 합법적이지만 NULL은 회전 해야하는 후에는 잘못된 객체이며 리턴 값은 NULL입니다 (나중에 설명하겠습니다).
HAHA 방법은 정적 방법입니다. 정적 방법은 정적 바인딩을 사용하며 널 포인터 예외를 던지지 않습니다.
HAHA () 함수가 비 정적으로 회전하면 널 포인터 예외가 발생합니다.
또 다른 예를 들어 봅시다 :
이 질문은 실제로 위와 유사합니다.
결과는 여전히 "하하"를 출력하고 있습니다.
우리는 Java 언어 사양에서 볼 수 있습니다
섹션 4.1에서. 언급 된 유형과 값의 종류 :
Java 프로그래밍 언어에는 원시 유형 (§4.2)과 참조 유형 (§4.3)의 두 가지 유형이 있습니다. '
유형:
PrimitiveType
참조 장치
특수 널 유형, 표현식 null 유형 (§3.10.7, §15.8.1)이 있습니다.
NULL 유형의 이름이 없으므로 NULL 유형의 변수를 선언하거나 NULL 유형으로 캐스트하는 것은 불가능합니다.
NULL 참조는 널 유형의 표현식의 유일한 가능한 값입니다.
NULL 참조는 항상 참조 유형으로의 넓은 참조 변환을 겪을 수 있습니다.
실제로, 프로그래머는 NULL 유형을 무시할 수 있으며 NULL은 단지 모든 참조 유형 일 수있는 특수한 문자 인 것처럼 가장합니다.
나는 그것을 위해 번역 할 것이다 :
Java 언어에는 두 가지 유형이 있습니다. 하나는 기본 유형 이고 다른 하나는 참조 유형 입니다.
특수 널 유형, 즉 이름이없는 표현 null 유형이 있습니다.
NULL 유형의 이름이 없으므로 NULL 유형의 변수를 선언하거나 NULL 유형으로 변환하는 것은 불가능합니다.
NULL 참조는 NULL 유형 표현식의 유일한 가능한 값입니다.
NULL 참조는 모든 참조 유형으로 변환 할 수 있습니다.
실제로 프로그래머는 NULL 유형을 무시할 수 있으며 NULL은 모든 참조 유형이 될 수있는 특별한 기호라고 생각할 수 있습니다.
이 구절을 읽은 후 갑자기 깨달았습니다.
5.2에서. 할당 변환 섹션 :
"NULL 유형 (NULL 참조는 유일한 값)의 값이 모든 참조 유형에 할당 될 수 있으므로 해당 유형의 NULL 참조가 발생할 수 있습니다."
NULL 유형의 값 (NULL (NULL) 참조는이 유형의 유일한 값입니다)는 모든 유형에 할당 될 수 있으며 해당 유형 (실제로 NULL)의 객체에 대한 빈 참조를 반환합니다.
5.3. 메소드 호출 변환 섹션에는 다음이 있습니다.
"NULL 유형의 값 (NULL 참조는 유일한 값)이 모든 참조 유형으로 변환 될 수 있습니다."
즉, " NULL은 모든 참조 유형으로 변환 될 수 있습니다 ."
공식 언어 매뉴얼을 통해 Null 유형을 매우 깊이 이해하고 있습니다.
우리의 프로그래밍 및 향후 면접에 도움이됩니다.
마지막으로, 나는 모든 사람들이 이상한 문제를 겪기를 바랍니다. 바이두 외에도 스택 오버 플로우 웹 사이트에서 가능한 한 많이 검색하고 공식 설명서를 확인하십시오.
요약
위의 내용은이 기사의 Java에서 Null "유형"에 대한 심층적 인 이해에 관한 것이며, 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!