更確切地說,int是Integer類的一部分(精簡版本還是其他東西),還是完全是其他東西?int是Java中的一個對象嗎?
我知道int是一個值類型和Integer是一個引用類型,但int繼承自Object嗎?
(我假設,在這方面的int,long,布爾等都是類似的。INT只是選擇了方便)
更確切地說,int是Integer類的一部分(精簡版本還是其他東西),還是完全是其他東西?int是Java中的一個對象嗎?
我知道int是一個值類型和Integer是一個引用類型,但int繼承自Object嗎?
(我假設,在這方面的int,long,布爾等都是類似的。INT只是選擇了方便)
Java中的基本類型不是對象,也不從Object繼承。
由於Java 1.5引入允許int和Integer(和其他類型)之間的自動裝箱。
由於類型爲int不是不能用作泛型類型參數的對象,例如在T
在list<T>
基本類型不是對象,而是直接存儲在任何情況下都需要他們。如果他們需要像一個對象一樣對待,他們可以用一個Integer來裝箱。
從"Primitive Data Types":「原始類型是語言內置的特殊的數據類型,它們是不是從一個類創建的對象。「反過來說,這意味着no,int
不會以任何方式從java.lang.Object繼承,因爲只有「從類創建的對象」才能這樣做。試想一下:
int x = 5;
爲了名爲x
從對象繼承的東西,那個東西就需要有一個類型。請注意,我區分了x
本身和它命名的東西。 x
有一個類型,它是int
,但名爲x
的東西是值5,它本身沒有類型。它只是代表整數值「5」的一系列位。相比之下,考慮:
java.lang.Number y = new java.lang.Integer(5);
在這種情況下,y
有型號碼,並命名爲y
的事物都具有整數類型。名爲y
的東西是一個對象。它有一個獨特的類型,不管y
或其他任何東西。
+1爲煩擾尋找引用 – mikek3332002
我有一個疑問 - 一個方法,其返回類型是一個「對象」,實際上返回「int」?如果是的話,那麼我怎麼能從調用環境中的'Object'返回'int'? –
@KaranChadha你應該發佈這個作爲一個新的問題,而不是一個評論。儘管如此,一定要檢查一下,看看之前是否有同樣的問題。 –
所以你說對象=引用類型? – soandos
@soandos:是的。 Java中的所有類實例都是引用類型。 – siride