java 板


LINE

※ 引述《qrtt1 (有些事,有时候。。。)》之铭言: : 标题: Re: [问题] private继承问题 : 时间: Wed Jul 16 09:49:27 2014 : : ※ 引述《kiwatami (悠游自在)》之铭言: : ............................................... 43 : : → kiwatami:官方文件有说我就不能问吗= =? 怎麽感觉你很不想我发言 07/15 22:08 : → Chikei:因为你一直在"你的想法"、"你觉得",这边是Java版我们在讨 07/15 22:59 : → Chikei:论的是Java,那当然所有不清楚的名词最终都以JLS为标准 07/15 22:59 : → Chikei:现在JLS直接说明了private field就是不会被继承,或者说这 07/15 23:00 : → Chikei:就是Java the Language的"继承"定义,你再觉得不合理也请接 07/15 23:00 : → Chikei:受,因为我们是在讨论Java语言。 07/15 23:01 : → Chikei:当然要来大战Java定义的继承跟一般programmer谈到继承时候 07/15 23:08 : → Chikei:的心灵模型一不一样不是不可,但很明显跟原po的问题无关 07/15 23:09 : → TonyQ:其实我觉得都可以讨论啦 就是对语意了解不一致而已XD 07/16 06:21 : → TonyQ:也没有人说不能/不想发言,原 po 多心了~ XD 07/16 06:22 : → kiwatami:不好意思 从小到大我觉得不合理的都不会接受... 没有要吵 07/16 08:58 : → kiwatami:架的意思啦 只是觉得好像讲出自己的想法反而不行的感觉 07/16 08:58 : : http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.2 : : Members of a class that are declared private are : not inherited by subclasses of that class. : : 目前问题的关键在於 kiwatami 版友 : : 没有把 field 与 method 的继承视为独立事件。 : : : Members of a class 可以是 field 或 method, : : 版上已经接受规格定义的人,是将这二种 member 的继承与否当成独立事件 : : : : -- :



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.130.128.164
: ※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1405475369.A.20D.html : → swpoker:每种语言都有不同的特质~要先放下自己~才能得到世界 07/16 11:44 : → ssccg:我不觉得他的问题跟field和method是不是独立有关 07/16 12:42 : → ssccg:上一篇回的比较好,问题在inherit是可存取还是存在 07/16 12:43 : → swpoker:k版友的问题在於用自己的角度去理解JAVA~而忽略JAVA特性 07/16 14:29 : → swpoker:继承是可不用复制贴上就可以存取成员~达到模组化的目的 07/16 14:30 : → swpoker:但是java特别注重在存取成员的特性包括对象及范围 07/16 14:31 : → swpoker:类别A想套用类别X~那麽不用复制类别X的程式码~继承就好了 07/16 14:32 : → swpoker:但是也不代表类别X就要给人看光光~也些东西不可以给人看到 07/16 14:33 : → swpoker:所以根据对象及范围的不同就有了这四种存取限制 07/16 14:35 : → NewSpec:劝k不要用这种心态来学习语言, 除了遇到瓶颈不容易突破外 07/16 21:05 : → NewSpec:也很容易在熟练某种技术後过於坚持, 而忽略其他技术的优点 07/16 21:07 我的立场比较接近 TonyQ 版仆,我认为没有必要过度强调哪一个"说法"才是绝对 正确的,毕竟这与你对继承的定义为何有关。 这里是 Java 版,你可以说以 Java 官方的说法为准,在讨论一些 Java 方面的 主题时,用语使用官方定义的说法是比较好沟通,假如主题已经是与"定义"本身 有关,我觉得只拿"官方说法"出来服人是不够的。(可能对方根本无法了解或接受 官方说法的内涵) 看得出来 kiwatami 对"继承"的定义是奠基在成本而非功能/界面上。 我猜他想厘清的是: public class A { private static int n; private int num; } public class B extends A { } 在 runtime B class object 在空间上的成本是否不小於 A class object? B instance 在空间上的成本是否不小於 A instance? 若是的话,该用什麽样的观点去看这件事:class B 没有继承 class A 定义的 private field 的话,为什麽 B instance( or class object) 会负担这个成本? 我是先接触 C++ 後接触 Java,在学习 C++ 的阶段我也曾对何谓"继承"感到 困惑过,有了一些想法後,在学 Java 时我对就没有再着重於「Java 中继承又 是怎麽一回事」。(实际上我不觉得我应该在学习 Java 时再尽力去试着接受或 理解 Java 宣称的继承是什麽) 给 kiwatami 与打从心底觉得没有"继承"的作用就不应该出现任何影子(任何可以 观察到没有被继承的部分存在都算)者,可以试着参考看看。 我的看法是: 把扩充(继承)与封装(access privilege/modifier)当作是两个正交的面向,Java 的 extends 属於前者,扩充者承袭了被扩充者的所有内涵,至於扩充者能不能 碰触这些东西,那是由後者(封装程度)来决定。 或者是把一个 object 的规格(介面)与实作(内涵)分开来看,CB extends CA 的语意 是 CB 继承了 CA 的规格与实作(IB extends IA, CB implements IA 则是 IB/CB 继承了 IA 的规格),CA 的 private fields 是实作的细节,其成为 CB 实作(内涵) 的一部分,而 CA 定义的 private fields 都不属於 CA 的规格(介面)的一部分, 故也不在 CB 的规格内。而当 CB instance 要去使用自身承袭 CA 而来的那一个 部分时,也必须同去使用另一个 CA instance 般透过其规格来使用。 *这种说法受 protected/package 的影响,特定条件下是说不通的,除非能接受 object 对外界所呈现的规格是浮动的看法(object 的规格非固定,会视观察者而 改变)。



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.35.96
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1405529694.A.FCF.html ※ 编辑: sbrhsieh (36.238.35.96), 07/17/2014 00:59:02 ※ 编辑: sbrhsieh (36.238.35.96), 07/17/2014 03:19:11







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灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP