數值型別的轉換我就不說了,與c/c++的一樣。我主要說物件型別。
把子類賦值給父類物件是賦值相容的,可以直接賦值。如
typetest tt=new typetest();
object oo;
oo=(object)tt;或者oo=tt;
oo是個object型別的引用變數,指向了typetest型別的例項,我們使用的時候oo完全表現為object類,只能呼叫object所具有的成員變數和方法,不過這些仍然是從typetest例項中呼叫的。所以把子型別賦給父型別已後只能使用父型別的成員,但是是從子型別例項中呼叫的,如是有過載的話呼叫的將是過載後的。
不過父型別賦值給子型別是不允許的,始終會發現執行時異常,不過這才是合理的,馬和白馬,說白馬是馬是沒有問題的,但是說白馬是馬就不是個正確的句子。所以父型別賦給子型別是有邏輯錯誤的。
Java的型別賦值轉換
數值型別的轉換我就不說了,與c c 的一樣。我主要說物件型別。把子類賦值給父類物件是賦值相容的,可以直接賦值。如 typetest tt new typetest object oo oo object tt 或者oo tt oo是個object型別的引用變數,指向了typetest型別的例項,我們...
賦值過程的型別轉換
如果賦值運算子兩側的型別不一致,但都是數值型或字元型,在賦值時要進行型別轉換。型別轉換有系統自動完成,轉換的規則是 1 將實型資料 包括單 雙精度 賦給整型變數時,先對實數取整 捨去小數部分 然後賦給整型變數。如 int a a 3.14執行的結果是,a的值為3,以整數形式儲存在儲存單元中,小數部分...
算術型別轉換和賦值型別轉換
1 混合運算的型別轉換規則 當二元運算子兩邊的運算元型別不同,但型別相容時,系統將資料型別轉化為一致後進行運算,具體規則如下 1 字元可以作為整數參與數值運算,整數的值為其ascii 值。2 運算元為字元或者短整型時,系統自動將其轉化為整型。3 運算元為單精度型別時,系統自動將其轉換成雙精度型。4 ...