Java方法覆盖

覆盖方法必须满足多种约束:

1.子类方法的名称、参数签名和返回类型必须与父类方法的名称、参数签名和返回类型一致

 

2.子类方法不能缩小父类方法的访问权限。但访问权限可扩大。比如由默认到public。

 

3.子类方法不能抛出比父类方法更多的异常。但可以抛出比父类更少的异常,或不抛出异常。

 

4.方法覆盖只存在于子类和父类之间。在同一个类中只能被重载,不能被覆盖。

 

5.父类的静态方法不能被子类覆盖为非静态方法。

 

6.静态方法不能被覆盖,但子类可以定义和父类一样的静态方法,但只是相当于子类新定义了一个方法。

 

7.父类的私有方法不能被子类覆盖。

 

8.父类的抽象方法可以被子类通过两种途径覆盖:一是子类实现父类的抽象方法;二是子类重新声明父类的抽象方法

 

9.父类的非抽象方法可以被覆盖为抽象方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值