Object是一種參考型別,也是所以類別的源頭。因此Object可以指向任何的參考型別。
但是當Object指向數值型別時,那會怎麼樣?
int
數值 = 100 ;
object
o = 數值 ;
參考型別是擺在堆積裡,數值型別是擺在堆疊裡。那...Object指向數值型別到底該擺哪?
這個時候,就會將100從堆疊中複製一份到堆積中的盒子裡,然後o這個物件參考指向這個盒子。這種將堆疊中的值複製到堆積中的行為,就叫Boxing(裝箱)。反過來說,將堆積中的值,複製到堆疊中的行為,就叫Unboxing(拆箱)。
int
值 = (
int
) o ;
// 將o拆箱
沒有留言:
張貼留言