一:例子
public class animal
public string getname()
public void setname(string name) }
public class dog extends animal
public string getfurcolor()
public void setfurcolor(string furcolor) }
public class test
}
輸出結果:
hachi
true
yellow
二:分析
animal a = new dog("hachi","yellow");
棧空間中建立引用a,指向堆中new出來的子物件dog("hachi","yellow");
a的實質就是乙隻dog,a instanceof dog返回true
但是a只能訪問到animal的屬性。不能訪問dog的furcolor屬性
只有dog d = (dog) a;
另外建立乙個引用d,將a強轉成dog型別,就能訪問dog的所有屬性了。
C 型別轉換 Cast
1 reinpreter cast 此識別符號的意思即為資料的二進位制形式重新解釋,但是不改變其值。這個操作符能夠在非相關的型別之間轉換。操作結果只是簡單的從乙個指標到別的指標的值的二進位制拷貝。在型別之間指向的內容不做任何型別的檢查和轉換。用法 reinpreter cast expression...
java基礎之型別轉換
型別轉換 1 基本型別轉換 a 自動型別轉換 小型別賦值大型別 b 手動 強制 型別轉換 大型別賦值給小型別 2 引用型別轉換 a 自動型別轉換 子型別賦值給超型別 b 手動 強制 型別轉換 超型別賦值給子型別 子型別 繼承鏈下面的型別 超型別 繼承鏈上面的型別 例如 繼承鏈 中國人 人 動物 生物...
sql型別轉換函式cast和convert
簡介 資料型別轉換可以通過 cast 和convert 函式來實現。大多數情況下,這兩個函式是重疊的,它們反映了 sql語言的演化歷史。這兩個函式的功能相似,不過它們的語法不同。雖然並非 所有型別的值都能轉變為其他資料型別,但總的來說,任何可以轉換的值都可以用簡單的函式實現轉換。語法 cast ex...