Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
作者 | 关于继承容易模糊的概念 |
xiaopan
发贴: 71 积分: 20 |
于 2003-03-18 09:49
JAVA作为面向对象的语言,最重要的的三个概念就是封装、继承、多态。在这里我想对继承中容易模糊的问题做一下补充: 大家在使用继承时,都知道父类中访问修饰符声明为PUBLIC,PROTECT的数据成员和方法可以被子类直接访问,但是PRIVATE的变量和方法就不能被访问,以上的说法其实是不正确的。其实子类通过extends继承了父类,子类会把父类中所有的方法和数据成员作一份拷贝变成自己的东西,无论父类中的声明为什么,PRIVATE修饰的在子类中只是不能被直接使用罢了,如果继承过来的public方法中有使用某个private变量,那么在子类中就能被访问,只是通过继承来的方法罢了。所以说继承是把父类的任何东西都作了一份拷贝在子类中,只是有的可以直接使用,有的不能直接使用。 第二,继承完之后,子类的东西是子类自己的,父类的是父类的,两者之间不会相互影响。比如:父类有一个public int i = 5变量,在子类中通过使用super.i=6会不会把父类的 i 改变为6呢?当然是不会的,子类中的 i 和父类的 i 的关系只是前者是后者的一个拷贝罢了,拷贝晚了之后,其实是没有关系的,不会相互影响;如果在子类中也声明了public int i 又将是什么情况呢? 这时候,在子类中实际上有两个 i 一个是他自己的,另为一个是父类的拷贝,两者是同名同姓的,但是通过this 和 super区分,不会相互混淆。这种情况发生方法就是所谓方法覆盖或重写,但是,实际上子类还是有两个方法(注意是两个),默认使用的覆盖后的方法。 我有一点感想和初学者们同享(原创) |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
5590 | 关于继承容易模糊的概念 | xiaopan | 660 | 2003-03-18 09:49 |
5040 | Re:关于继承容易模糊的概念 | mochow | 137 | 2003-03-18 14:11 |
4691 | Re:关于继承容易模糊的概念[RE:MOCHOW] | xiaopan | 26 | 2003-03-18 14:27 |
4382 | Re:关于继承容易模糊的概念 | javaren | 597 | 2003-03-18 18:48 |
4592 | Re:关于继承容易模糊的概念 | snowbug | 275 | 2003-03-18 23:03 |
4292 | Re:关于继承容易模糊的概念 | javaren | 228 | 2003-03-19 13:06 |
4496 | Re:关于继承容易模糊的概念 | floater | 68 | 2003-03-19 23:55 |
4390 | Re:关于继承容易模糊的概念 | javaren | 1211 | 2003-03-20 09:56 |
4845 | Re:关于继承容易模糊的概念 | floater | 1495 | 2003-03-20 23:36 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |