關於Java物件之間的強制轉換型別

2021-08-31 06:59:15 字數 680 閱讀 8068

public class employee

public class hrstaff extends employee

子類物件可以宣告為父類型別,父類物件不可以宣告為子類型別

employee emp = new hrstaff();    //正確

hrstaff hr = new employee(); //錯誤

在子類物件宣告為父類型別後,可以通過強制轉型,轉型回來。

employee emp = new hrstaff();

hrstaff emp = (hrstaff)emp;

因為在子類物件宣告為父類型別後,其實物件的真實意義還是子類物件

employee emp = new employee();

employee hr = new hrstaff();

system.out.println(emp instanceof hrstaff); //輸出false

system.out.println(hr instanceof hrstaff); //輸出true

這裡的 instanceof 關鍵字用於判斷乙個引用變數所指向的物件是否屬於某個類。返回的是true、false。

關於強制轉換

1.a和 a的區別 a是整個陣列的首位址,a是陣列首元素的首位址,其值相同,但是意義不同。eg char a 5 char p1 5 a 沒有問題,char p1 5 是陣列指標,指向陣列a 5 的首位址。char p2 5 a 編譯出錯,提示型別無法從 char 5 轉換為 char 5 需要把a...

Java強制型別轉換

型別轉化 將乙個型別強制轉換成另外乙個型別的過程。數值型別之間的合法型別轉換 乙個表示式中要是有不同型別的數值,先要將運算元轉換為同一種型別,然後再進行計算。數值型別之間的強制型別轉換 語法格式 在圓括號中給出想要轉換的目標型別,後面緊跟待轉換的變數名。public static void main...

關於強制型別轉換

var dump 0 null false var dump 0 0 true var dump 0 false var dump 0 false true var dump 0 null true var dump 0 0 true var dump 0 true var dump 0 false...