重写override 重载overload

重写override

重写是子类对父类的允许访问的方法实现过程进行重新编写,返回值、形参不能改变;

特点:

1、参数列表、返回值类型不能变;

2、子类的访问权限大于父类中被重写方法的访问权限;例如:父类一个方法声明为public,子类中重写该方法声明不能为protected

3、父类的成员方法只能被子类重写;

4、声明为final的方法,不能被重写;

5、声明为static的方法不能被重写,但是能够被再次声明;

6、子类和父类在同一个包中,子类可以重复父类的所有方法,除了声明为privatefinal的方法;

7、子类和父类不在同一个包中,子类只能重写父类声明为publicprotected的非final方法;

8、重写方法可以抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或着比重写方法声明的更广泛的强制性异常,反之则可以;

9、构造方法不能被重写;

10、如果不能继承一个方法,就不能重写这个方法;

重载overload

重载overload是在一个类里面,方法名相同,而参数不同。返回类型可以相同也可以不同;

每个重载的方法(构造函数是最常用的重载)都必须有独一无二的参数类型列表;

重载规则:

1、被重载的方法参数列表必须修改(参数个数、类型、顺序不一样);

2、被重载的方法返回类型可修改;

3、被重载的方法访问修饰符可修改;

4、被重载的方法可以声明新的或更广泛的检查异常;

5、方法能够在同一个类中或着在一个子类中被重载;

6、无法以返回类型作为重载函数的区分标准;


 

总结

方法的重写overriding和重载overloadingjava多态性的不同表现,重写是父类与子类之间多态的一种表现,重载可以理解成多态的具体表现形式;

1、方法重载是一个类中定义多个方法名相同,而参数不同,则称为方法的重载;

2、方法重写是在子类与父类都存在名字相同的方法,参数和返回类型一样,则称为重写;

3、方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值