A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁杰 中级黑马   /  2013-6-10 15:34  /  1304 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当一个类去继承另一个类,或者是去实现某一个接口时,对于父类或父接口中的成员变量,在子类中不存在覆盖,这是什么意思,还有这是为什么啊?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

8 个回复

倒序浏览
**********************
当一个类去继承另一个类,或者是去实现某一个接口时,对于父类或父接口中的成员变量,在子类中不存在覆盖,这是什么意思,还有这是为什么啊?
*********************
其实  语义上理解最好
不管是接口 还是基类   相对于子类  都是父亲级别的 之所以 一个是实现implements 一个是继承 extends 在于一个里面都是抽象方法  一个不是(抽象类除外)
所以  都理解为继承就OK
一个人 继承了  家里的产业  你说  能覆盖么?  覆盖了  就没办法找到集成的东西了啊
继承的目的 不就是 复用么  
人也一样啊  继承祖业 不就是 我在上面接着做 不用白手起家么  我觉得  这样理解最好  那么 成员变量就是 人从祖业上继承下来的资产
那么  为什么 出现覆盖呢 我觉得
比如  对于一个人从父辈那里继承了100000000元钱   是不是这个人和父辈都有 生活 这个动作啊?  
父辈的生活的动作就是:用这些钱   每日三餐 没别的了
这个人呢  觉得这样生活不好 枯燥乏味  不喜欢  重新定义了自己的生活的动作: 早上起来  跑步  在三餐  完事 再散步

所以 方法出来  是可以覆盖的
但是 继承来的资产  不能被覆盖  我觉得可以这么理解

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
你好,我谈一下我的理解:覆盖的目的首先你要明确,就是为了根据自己的意愿优化或者改进性能,覆盖成员变量,好像没有什么意义啊,你在子类中定义相同的变量时那个就是子类的,父类的还是父类的,

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
其实,子类就不存在覆盖的,覆盖只是 与方法,而且方法也不叫覆盖,父类的方法还是存在,只是对你来说只能看到子类的方法,这就是多态性么。对于父类的成员变量,应该叫做隐藏,子类可以定义自己的成员变量,但是利用多态性编译运行的是父类的成员变量。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
新人加油   大家答的都挺好的{:soso_e100:}
回复 使用道具 举报
加油    有问题可以继续追问   
回复 使用道具 举报
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃

点评

你的粽子不好吃,依旧未解决啊  发表于 2013-6-13 16:04
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马