Android 重载(Overloading)和重写(Overriding)的区别

版权声明:旨在技术交流与成长,欢迎大家来交流学习。 https://blog.csdn.net/qq941263013/article/details/83016425

重载:

        在一个类中定义了多个名称相同,而参数不同(参数的数量或类型或次序不同)的方法,则称为方法的重载。

重写:

        子类中的方法与父类中的方法名称相同,并且参数的个数与类型相同,返回值也相同,则成为方法的重写。

注:重载是一个类的多态性表现,而重写是子类与父类之间的一种多态性表现。

重载的规则:

        1.必须改变参数列表(参数的数量或类型或次序不同);

        2.可以改变返回值类型(是否重载与返回值类型无关);

        3.可以改变访问修饰符;

        4.可以声明新的或更广的检查异常;

        5.最常用的就是构造方法的重载;

重写的规则:

        1.不可以改变参数列表;

        2.不可以改变返回值类型;

        3.访问修饰符不能比父类中被重写的方法的访问权限更低(public>protected>default>private);

        4.不能抛出新的强制性异常,不能抛出比被重写的方法声明的更广泛的强制性异常;

        5.构造方法不能被重写;

猜你喜欢

转载自blog.csdn.net/qq941263013/article/details/83016425