黑马程序员技术交流社区

标题: java继承覆盖总结 ,都来看看啊! [打印本页]

作者: zzm0717    时间: 2016-4-28 21:45
标题: java继承覆盖总结 ,都来看看啊!
java的继承与覆盖基本是java笔试中常出的题,也比较绕,我这里对java的继承覆盖做一个总结
1.构造函数:
        当子类继承一个父类时,构造子类时需要调用父类的构造函数,存在三种情况
        (1),父类无构造函数或者一个无参数构造函数,子类若无构造函数或者有无参数构造函数,子类构造函数中不需要显式调用父类的构造函数,系统会自动在调用子类构造函数前调用父类的构造函数
         (2),父类只有有参数构造函数,子类在构造方法中必须要显示调用父类的构造函数,否则编译出错
         (3),父类既有无参数构造函数,也有有参构造函数,子类可以不在构造方法中调用父类的构造函数,这时使用的是父类的无参数构造函数
           //以上三个结论已经过代码验证
2.方法覆盖:
          (1)子类覆盖父类的方法,必须有同样的参数返回类型,否则编译不能通过
          (2)子类覆盖父类的方法,在jdk1.5后,参数返回类可以是父类方法返回类的子类
         (3)子类覆盖父类方法,可以修改方法作用域修饰符,但只能把方法的作用域放大,而不能把public修改为private
          (4)子类方法能够访问父类的protected作用域成员,不能够访问默认的作用域成员
         (5)子类的静态方法不能隐藏同名的父类实例方法
         (6)java与C++一样,继承的方法具有多态性
         //以上6个结论已经过代码验证
3.成员覆盖:
         (1)当子类覆盖父类的成员变量时,父类方法使用的是父类的成员变量,子类方法使用的是子类的成员变量
          这个听起来很容易理解的一回事,但是实际使用过程中很多人容易搞混:尤其是在多态的时候,调用一个被继承的方法,该方法访问是一个被覆盖的成员m,那么方法中到底是访问了父类的成员还是子类的成员m?结论是,若实际调用的是父类的方法,就使用了父类的该成员m,若实际调用的是子类的方法,就使用子类的成员m,记住一句,每个类使用成员都相当于在前面加了 一个this指针
作者: 836668859    时间: 2016-4-28 21:50
给力,赞一个
作者: 今日微风    时间: 2016-4-28 21:54
能顶起吗?
作者: wufengqiao    时间: 2016-4-28 22:03
顶顶顶!!!
作者: Erry    时间: 2016-4-28 22:04
不懂啊 ,我是小白。
作者: zzm0717    时间: 2016-5-2 19:21
今日微风 发表于 2016-4-28 21:54
能顶起吗?

这个可以有...
作者: zzm0717    时间: 2016-5-2 19:22
Erry 发表于 2016-4-28 22:04
不懂啊 ,我是小白。

哪里不懂啊
作者: zzm0717    时间: 2016-5-2 19:23
wufengqiao 发表于 2016-4-28 22:03
顶顶顶!!!

顶起
作者: zzm0717    时间: 2016-5-2 19:24
836668859 发表于 2016-4-28 21:50
给力,赞一个

必须赞
作者: 土豆你个马铃薯    时间: 2016-5-2 19:40
说的太过复杂,其实可以简单明了
作者: Erry    时间: 2016-5-2 20:46
zzm0717 发表于 2016-5-2 19:22
哪里不懂啊

我看到代码我就蒙蒙的
作者: feijiaqi    时间: 2016-5-2 20:57
总结挺全乎
作者: zzm0717    时间: 2016-5-3 21:48
feijiaqi 发表于 2016-5-2 20:57
总结挺全乎

也不行,将就着看吧
作者: zzm0717    时间: 2016-5-3 21:49
Erry 发表于 2016-4-28 22:04
不懂啊 ,我是小白。

看不懂吗???
作者: zzm0717    时间: 2016-5-3 21:50
土豆你个马铃薯 发表于 2016-5-2 19:40
说的太过复杂,其实可以简单明了

求大神指导
作者: zzm0717    时间: 2016-5-3 21:51
wufengqiao 发表于 2016-4-28 22:03
顶顶顶!!!

顶起来!!!
作者: zzm0717    时间: 2016-5-3 21:52
今日微风 发表于 2016-4-28 21:54
能顶起吗?

必须能啊!!
作者: zzm0717    时间: 2016-5-3 21:53
836668859 发表于 2016-4-28 21:50
给力,赞一个

来,大赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2