java 板


LINE

※ 引述《andymai (人生只有一次)》之銘言: : 標題: Re: [問題] 父變數指到子物件的繼承問題 : 時間: Sat Apr 27 16:36:57 2013 : : ※ 引述《Shrugg (淚眼問花花不語)》之銘言: : : 對不起,又碰到觀念性問題想不通了,所以藉休息思考時間又來這邊尋找溫情.嘻 : : 請問當程式跑到 Father f = new Son()後,從記憶體來看 : : 不是就一個Stack區的變數f指向Heap區的一個Son物件嗎? : : 如果這時候執行f.show() 為什麼IntelliSense只能選擇父類別裡的show()? : : 但是如果父類跟子類同時有定義show(),即使選用的是父類的show() : : 卻是顯示子類show()的內容呢? : : 從物件來看,父類跟子類會有不同的方法跟成員變數,可以理解是不同的東西 : : 但是變數的目的不是存值就是存參照,變數為什麼會有父跟子的區分呢? : : 謝謝. : 把 Father 換成 動物 : 把 Son 換成 鴨子 : 把 show 換成 走 : 即: : : 動物 f = new 鴨子(); : : 定義 f 為動物,而且這個動物是鴨子 : 而在操作的時候,光看 f 怎麼會知道它是鴨子還是鳥~或是別的動物? : 所以當然只能選擇父類別(動物)裡的 走() Java 是嚴格的靜態語言, 但 Java 的靜態型別卻只存在於編譯時期,換句話說,只是編譯時期檢查而已。 * * * 宣告一個靜態型別為`動物`的變數 `f` ,參考至`鴨子`型態的新物件 而在編譯時期,光看 `f` 怎麼會知道它的動態型別會是`鴨子`還是`鳥`~或是其他`動物` 的子類別? 所以當然只能選擇靜態型別(`動物`)裡的 `走()` 底下是一個範例 class 動物 {} class 鴨子 extends 動物 { @Override public String toString() { return "呱呱"; } } class 鳥 extends 動物 { @Override public String toString() { return "啾啾"; } } public class Main { public static void main(String args[]) { 動物 f; if(args[0].equals("鴨子")) f = new 鴨子(); else if(args[0].equals("鳥")) f = new 鳥(); else f = new 動物(); System.out.println(f); } } (......以下恕刪) --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.151.94
1F:推 PsMonkey:建議不要用單純兩個減號作分隔線,不然別人回文會很麻煩 04/27 20:53
已修改。 ※ 編輯: coolcomm 來自: 101.15.200.10 (04/29 20:06)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP