Re: [問題] private繼承問題

看板java作者 (悠游自在)時間10年前 (2014/07/13 23:04), 編輯推噓0(0028)
留言28則, 7人參與, 最新討論串4/17 (看更多)
※ 引述《meya (落寞之心)》之銘言: : class A{ : private int a1=1; : } : public class test extends A{ : public static void main(String[] args){ : test t=new test(); : System.out.println(t.a1); : } : } : 子類別無法直接存取父類別的private a1,但 : 究竟子類別有無繼承父類別的private a1? : 應該用下列哪種理解才正確? : (A)子類別內的a1繼承自父類別的a1,只是父類別用private修飾a1,讓其他類別無法直接 : 存取父類別內的a1 : (B)使用private修飾過的a1,無法被子類別繼承 : 懇請回答謝謝 答案是A 當然有被繼承 不然你用get會拿到什麼? 用private只是封裝變數不給外部使用 用意是在外部程式若隨便更改變數可能會導致程式出現錯誤(當然這不是唯一的目的) 所以要封裝起來由setter做更動 不一定正確啦 因為我滿討厭讀定義的XD 你參考一下 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.88.142 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1405263851.A.10B.html

07/13 23:25, , 1F
前面的回文已經有正解了......
07/13 23:25, 1F

07/14 12:42, , 2F
有嗎 前面都說無繼承耶
07/14 12:42, 2F

07/14 15:05, , 3F
無繼承是正解啊 然後這篇又給了一個不正確的答案....
07/14 15:05, 3F

07/14 18:47, , 4F
我也覺得無繼承比較好理解...
07/14 18:47, 4F

07/14 19:23, , 5F
無繼承才不好理解吧 沒有繼承又可以存取 不是說不通嗎
07/14 19:23, 5F

07/14 22:28, , 6F
應該說對「繼承」這個字語意瞭解不一致吧。
07/14 22:28, 6F

07/14 22:29, , 7F
我對繼承的想法是子類別擁有父類別實體,成員的繼承是指直接
07/14 22:29, 7F

07/14 22:29, , 8F
在子類別能直接透過成員變數操作與取用父類別的成員。
07/14 22:29, 8F

07/14 22:31, , 9F
field 的繼承歸 field 的,method 的歸 method 的。
07/14 22:31, 9F

07/14 22:35, , 10F
沒繼承當然不能"直接"存取呀
07/14 22:35, 10F

07/14 23:05, , 11F
我的想法是 因為變數是實際存在 就像博美犬繼承了犬這個
07/14 23:05, 11F

07/14 23:05, , 12F
類別 就繼承了犬的四條腿這四個變數 因為怕基因突變 所以
07/14 23:05, 12F

07/14 23:05, , 13F
限制以犬的gettter, setter做存取 如果沒有繼承 那何來這
07/14 23:05, 13F

07/14 23:05, , 14F
四條腿呢?
07/14 23:05, 14F

07/14 23:21, , 15F
jetswayss 大的回文內都已經將官方文件都帶出來了
07/14 23:21, 15F

07/14 23:22, , 16F
應該沒有懸念了吧
07/14 23:22, 16F

07/15 22:08, , 17F
官方文件有說我就不能問嗎= =? 怎麼感覺你很不想我發言
07/15 22:08, 17F

07/15 22:59, , 18F
因為你一直在"你的想法"、"你覺得",這邊是Java版我們在討
07/15 22:59, 18F

07/15 22:59, , 19F
論的是Java,那當然所有不清楚的名詞最終都以JLS為標準
07/15 22:59, 19F

07/15 23:00, , 20F
現在JLS直接說明了private field就是不會被繼承,或者說這
07/15 23:00, 20F

07/15 23:00, , 21F
就是Java the Language的"繼承"定義,你再覺得不合理也請接
07/15 23:00, 21F

07/15 23:01, , 22F
受,因為我們是在討論Java語言。
07/15 23:01, 22F

07/15 23:08, , 23F
當然要來大戰Java定義的繼承跟一般programmer談到繼承時候
07/15 23:08, 23F

07/15 23:09, , 24F
的心靈模型一不一樣不是不可,但很明顯跟原po的問題無關
07/15 23:09, 24F

07/16 06:21, , 25F
其實我覺得都可以討論啦 就是對語意瞭解不一致而已XD
07/16 06:21, 25F

07/16 06:22, , 26F
也沒有人說不能/不想發言,原 po 多心了~ XD
07/16 06:22, 26F

07/16 08:58, , 27F
不好意思 從小到大我覺得不合理的都不會接受... 沒有要吵
07/16 08:58, 27F

07/16 08:58, , 28F
架的意思啦 只是覺得好像講出自己的想法反而不行的感覺
07/16 08:58, 28F
文章代碼(AID): #1Jmf_h4B (java)
討論串 (同標題文章)
文章代碼(AID): #1Jmf_h4B (java)