網頁
BloggerAds 廣告
標籤
- Java (96)
- Android (27)
- 演算法 (21)
- c++ (19)
- JavaScript (7)
- OpenMp (6)
- Design Pattern (4)
- 日文歌曲 (4)
- 資料結構 (4)
- Foundation Knowledge Of Programming (3)
- QUT (2)
- CodingHomeWork (1)
- Database (1)
- 英文歌詞 (1)
搜尋此網誌
2012年3月8日 星期四
Java 物件轉型
Animal ani = new Dog();
隱性轉型,此時的ani變數只可使用Animal類別提供的方法,
無法使用Dog類別的方法.
(可以大容器裝小物件)
Dog dg1 = new Animal();
(小容器裝大物件,會產生編譯錯誤)
Dog dg2 = (Dog)ani;
明確轉型,此時我們指定animal就是dog.
這是多型的用法,假如有一個cat類別也繼承animal,
也可轉型為cat來使用.
隱性轉型,此時的ani變數只可使用Animal類別提供的方法,
無法使用Dog類別的方法.
(可以大容器裝小物件)
Dog dg1 = new Animal();
(小容器裝大物件,會產生編譯錯誤)
Dog dg2 = (Dog)ani;
明確轉型,此時我們指定animal就是dog.
這是多型的用法,假如有一個cat類別也繼承animal,
也可轉型為cat來使用.
如果不確定執行時期的物件是哪一個類別的實體,
可以使用instanceOf這個方法來判斷,以避免丟出
訂閱:
文章 (Atom)
我的網誌清單
標籤
日文歌曲
(4)
股市
(7)
股票
(9)
英文歌詞
(1)
時事
(1)
硬體(hardware)
(1)
資料結構
(4)
演算法
(21)
數學(Math)
(4)
ACM
(3)
ajax
(7)
algorithms
(1)
Android
(27)
Blog Notes(部落格記事)
(6)
C
(9)
c++
(19)
CodingHomeWork
(1)
Database
(1)
Design Pattern
(4)
Foundation Knowledge Of Programming
(3)
GWT
(1)
How
(2)
J2EE
(1)
Java
(96)
Java語言
(4)
JavaScript
(7)
Leetcode
(4)
LOL
(1)
OpenMp
(6)
QUT
(2)
Uva
(2)
Yahoo知識問答
(11)