2016-08-03 15 views
0

は、私は、クラス(オブジェクト)クラスの概念を理解すると思ったが、Java 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の現象がお探しのものです。 javaでは、快適さのためにいくつかのプリミティブがあります。彼らはすべてwrapperクラスを持っています。 Integer',ダブル, Boolean`など

オートボクシングがWrapper秒にWrapperが予想されるたびにprimitive秒をラップする責任があるが、primitiveが渡されます。これらは。一方、アンボクシングは来る。 primitiveが期待されているときにはWrapperが渡され、適切な値を抽出することができます。 oneintと印刷にアンボクシングされます -例外がスローされません

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

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

printInteger(one); 

は:

これはよくhere

例を説明しています。

+0

これはオートボクシングに関するものではありません。 Integerクラスなどは、Javaの初めから存在していました。 Autoboxingが導入されたばかりでなく、 – gsl

+0

@gsl autoboxingについて** **なのではないことに同意することができます。それが 'java 1.5'に導入されたので、私たちは皆それを使用します。 – xenteros

-1

違いは、プリミティブは単にメモリのゾーンであり、キーワークを使用しているときは、コンパイラにこれらの領域をどのように見えるかを伝えていることです。 IntegerやCharacterなどの対応オブジェクトでは、これらの型で動作するメソッドを持つオブジェクトであり、オブジェクトなどと見なされます。

関連する問題