Java的继承与重写

开发工具与关键技术:MyEclipse 10、Java语法
作者:邓婵
撰写时间:2019年 5月 12日

继承(extends)的定义:继承就是子类继承父类的特征和行为,使得子类对象具有父类的实现域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
注意:Java不支持多继承,但支持多重继承。
例子:
在这里插入图片描述
这个例子说明子类1继承了父类,子类2继承了子类1,由于子类1继承了父类,而子类2又继承了子类1,就相当于间接继承了父类,这体现了继承中的多重继承。

不正确的写法:

class ChildClass3 extends ChildClass,ChildClass2{
}

这种写法是错误的,因为Java中不支持多继承,但支持多重继承。当你用这种写法你在编写代码时就会报错,是无法使用多继承的。

注意:final修饰的类是不可以被继承,它在编辑代码的时候也同样会报错。相关代码可参考图下:
在这里插入图片描述

重写(Override)的定义:重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。
重写的好处:子类可以根据需要定义特定于自已的行为。也就是子类能够根据需要实现父类的方法。
例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
说明:例子1中构造器是不能重写的,因为构造器名称要与类名称相同,然后在这里又重写这个构造器是不行的。例子2是正确的重写了方法。例子3不是重写,因为声明为static的方法不能被重写,但能够被调用,所以这里只是重新声明了一下,而不是重写的。例子4是private修饰的方法无法被子类继承,一个方法要重写首先能被继承,如果不能继承一个方法,则不能重写这个方法,所以私有的方法外部不能直接被调用的。结果如图下所示:

在这里插入图片描述
注意:final修饰的类是不能被重写的,它在编辑代码的时候也同样会报错。相关代码可参考图下:

在这里插入图片描述
super 与 this 关键字
1)this关键字指向当前对象自身,super关键字指向当前对象的直接父类。
2)在main方法中不可以存在this或super关键字
3)this和super关键字都可以访问成员属性,成员方法和构造方法
4)在一个类的构造方法中不可以同时使用this和super来调用其他构造方法

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值