继承中的概念

1、方法重载(Overload)

对于类的方法(包括从父类中继承的方法),如果有2个方法的方法名相同,但参数不一致,那么可以说,一个方法是另一个方法的重载方法。

重载方法必须满足以下条件:

  • 方法名相同;
  • 方法的参数类型、个数、顺序至少有一项不同;
  • 方法的返回类型可以不相同;
  • 方法的修饰符可以不相同;

2、方法覆盖(Override)

如果在子类中定义的一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。

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

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

(2)子类方法不能缩小父类方法的访问权限;

(3)子类方法不能抛出比父类方法更多的异常;子类方法抛出的异常必须和父类方法抛出的异常相同,或者子类方法抛出的异常类是父类方法抛出的异常类的子类。

(4)方法覆盖只存在于子类和父类(包括直接父类和间接父类)之间。在同一个类中方法只能被重载,不能被覆盖;

(5)父类的静态方法不能被子类覆盖位非静态方法;
(6)子类可以定义与父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法;在编译时,子类定义的静态方法也必须满足方法覆盖类似的约束:方法的参数签名一致,返回类型一致,不能缩小父类方法的返回权限;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值