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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小黑子 中级黑马   /  2014-9-4 09:52  /  1108 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小黑子 于 2014-9-5 14:55 编辑

书上说:
       如果父类成员是私有的,则不能继承它们,就是说,在子类中不能通过名字来直接引用它们。
但对子类来说,这样的成员确实存在,可以间接引用。
我的问题的是:
        1、父类私有方法不能被继承,我的理解就是子类中不会有父类中的这个私有方法。
             但是后边又说,对于子类,这样的成员确实存在。这倒底是什么意思?
        2、不能通过名字来直接引用是什么意思?可以间接引用又是什么意思?

7 个回复

倒序浏览
为何没有一个大神浏览
回复 使用道具 举报
私有成员的存在,不允许其它类直接访问。
我想间接引用意思是,可以在父类定义set和get的方法
回复 使用道具 举报
子类对象实例化时,需要给所包含的父类private属性分配内存。所以实例对象继承了父类的私有属性。
不能直接调用,子类可以通过父类的get(),set()方法访问父类私有属性,可以通过反射调用调用父类的私有方法。
既然可以间接调用,所以算是继承了父类的私有属性和私有方法。

回复 使用道具 举报
范鹏霄 发表于 2014-9-5 12:25
子类对象实例化时,需要给所包含的父类private属性分配内存。所以实例对象继承了父类的私有属性。
不能直接 ...

SOUGA,多谢大神
回复 使用道具 举报
private 父类里有这个成员。或者函数的话,你子类在堆内存中就要划分一定的空间,但你不能直接用子类对象.这个私有的方法或者属性,必须通过重新写方法去间接访问。没什么难的,别死磕这个问题。
回复 使用道具 举报
就像有个保险箱,你继承了开不了,但是同时继承了钥匙(get方法),你就能开了,父类没有这个get()方法,子类怎么也用不了父类私有所有东东。
回复 使用道具 举报
cs8630323 发表于 2014-9-5 23:03
就像有个保险箱,你继承了开不了,但是同时继承了钥匙(get方法),你就能开了,父类没有这个get()方法, ...

嗯,谢谢哈!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马