重写和重载的区别

重载说明:

  在同一个类中方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。子类可以重载父类的方法,但是当父类的方法被默认修饰符修饰时,只能在同一个包下才能重载,只能根据不同的参数样式判断是否是重载,如果父类的修饰符为私有的,则不能在子类中定义重载,只是新加了一个方法。

  规则说明:

           必须具有不同的参数列表;

          可以有不同的返回类型;

          可以有不同的访问修饰符;

          可以抛出不同的异常; 

重写说明:

  重写只会发生在继承中,并且是子类重写父类的方法  

       规则说明:

      参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。

      返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。

      访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)

      重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常,只能抛出父类的异常,或者父类异常的子类

 

猜你喜欢

转载自www.cnblogs.com/linjinyuan/p/8909243.html