一、重载和重写的区别

简单的来说重载是在一个类中对多态性的表现,重写是在父类与子类之间中对多态性的表现。

  1、重载(Overloading):方法名相同,参数列表不同,返回类型可以相同也可以不同。抛出异常可以不同,修饰符可以不同。

下面就是从源码中选取String的getBytes()展现的重载方法:

Java基础学习巩固3--重载和重写分析及区别

从上面可以看出重载方法名相同,参数个数不同和类型不一样,并且也可以抛出不同的异常。当我们调用方法的时候通过传递的参数来决定具体调用那个方法。

2、重写(Overriding):重写就是子类对父类的方法进行重新定义。

       子类对父类重写父类的方法,即他们的方法名及参数、返回类型相同;抛出异常相同,并且子类重写的方法修饰权限不能小于父类的权限(如果小于则相当于在子类中写了个新的方法,当父类方法为private权限时,子类方法无法继承并重写)。

Java基础学习巩固3--重载和重写分析及区别


        以上就是重载和重写的定义和具体的区别。

















相关文章: