2016-08-03 3 views
0

은 내가 클래스 (객체) 클래스의 개념을 이해 생각했지만, 자바 API에 대한 책을 읽은,이 발견클래스와 프리미티브 유형 간의 연결?

원시 Java 유형 (부울, 바이트, 문자, 짧은, INT, 긴, 을 float 및 double) 및 키워드 void는 클래스 개체로도 표시됩니다.

+1

https://docs.oracle.com/javase/7/docs/api/java /lang/Void.html'Void 클래스는 Java 키워드 void를 나타내는 Class 객체에 대한 참조를 보유 할 수있는 인스턴스화 할 수없는 자리 표시 자 클래스입니다. ' –

+1

https://docs.oracle.com/javase/8/docs/api/java /lang/Integer.html#TYPE – fabian

+2

정확히 궁금하신 점은 무엇입니까? 나는 당신이 객체와 클래스 개념 또는 원시 타입 클래스의 요점을 얻지 못했습니까? – NawaMan

답변

1

autoboxingoutboxing의 현상은 당신이 찾고있는 것입니다. 자바에서는 편의를 위해 몇 가지 기본 요소가 있습니다. 그들은 모두 wrapper 클래스를가집니다. Integer', 더블 , Boolean` 등

오토 박싱은 Wrapper들에 Wrapper이 예상 될 때마다 primitive의 포장을 담당하지만 primitive이 전달됩니다이 있습니다. 반면 unboxing 온다. primitive이 예상되지만 Wrapper이 전달되면 적절한 값을 추출 할 수 있습니다. oneint 및 인쇄에 언 박싱 할 것이다 - 예외가 슬로우되지 않습니다

Integer one = new Integer(1); 
int i = one.intValue(); 

void printInteger(int i) { 
    System.out.println(i); 
} 

printInteger(one); 

가 :

그것은 잘 here

예를 설명합니다.

+0

이것은 Autoboxing에 관한 것이 아닙니다. Integer 클래스 등은 Java의 처음부터 존재했습니다. Autoboxing이 도입 된 이후뿐만 아니라. – gsl

+0

@ gsl 나는 autoboxing에 관한 ** ** **에만 동의하지 않는다. 그것이'java 1.5'에 소개 되었기 때문에 우리 모두는 그것을 사용합니다. – xenteros

-1

차이점은 기본 요소가 메모리 영역에 불과하다는 것과 여러분이 keyworks를 사용할 때 컴파일러에게 이러한 영역을 '보는 방법'을 말하고 있다는 것입니다. Integer 또는 Character와 같은 대응 객체는 이러한 유형으로 작업 할 메소드가있는 객체이며 객체와 같은 것으로 간주됩니다.

관련 문제