继承(重写)

继承(重写)

静态方法

可以被重载,不可以被重写。

静态方法是类在加载时就被加载到内存中的方法,在整个运行过程中保持不变,因而不能重写。但非静态方法是在对象实例化时才单独申请内存空间,为每一个实例分配独立的运行内存,因而可以重写。

代码演示图:在这里插入图片描述

图中可以看到当a类继承了b类,此时我在a类中写了和b类一样的方法,但是输出结果可以看到没能重写b类,所以说明静态方法只能被重载不能被重写。

复习下方法中的重载:方法的重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数

方法的重载的规则:

1.方法名称必须相同

2.参数列表必须不同(个数不同,或者类型不同,参数排列顺序不同等

3.方法的返回类型可有相同也可以不相同

4.仅仅返回类型不同不足以成为方法的重载

实现理论

方法名字相同时,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器会报错。

动态方法(无static)

在这里插入图片描述

图中可以看出实现了方法的重写,父类的引用指向了子类,子类重写了父类的方法然后输出。

重写的注意点

重写:需要有继承关系,子类重写父类的方法!

1.方法名必须相同

2.参数列表列表必须相同

3.修饰符:范围可以扩大但不能缩小:

public > protected > Default > private

4.抛出的异常:范围,可以被缩小,但不能扩大:

ClassNotFoundExcption--->Exception()

重写:子类的方法和父亲必要一致:方法体不同!

为什么需要重写:

1.父类的功能:子类不一定需要,或者不一定满足!

Alt+insert ;override Windows

control+enter:override Mac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JanoCode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值