java中方法的覆写和重写是否一样?

Python016

java中方法的覆写和重写是否一样?,第1张

“覆写”和“重写”是一样的,还有叫“覆盖”的,都是override,意思就是父类和子类中的同名同参数的方法,它们之间的关系就是,子类的方法把父类的方法给盖住了(其实不一定是父类,父接口也可以)。

比如动物是父类,人是子类,都有奔跑run()这个方法,人类能够不用四肢在地上奔跑,所以应该重写run()这个方法,让人类直立行走啊!

注意要和另一种区分的就是“重载”,即overload,这是同一个类中同名不同参的方法,它们之间的关系就是,你调用同一个名字,但是传递的是不同的参数,

比如求和sum方法,可以对int类型求和,也可以对double类型求和,这两个方法作用相同,所以起同样的名字。因此sum(int int)和sum(double, double)就是两个重载方法。

重载,在一个类的内部,如果有一个方法名为test,你重新写一个方法,这个方法的名字也叫test,但是两个方法的参数不同.

也就是说,重载指的是在一个类的内部有两个或多个名字相同但参数不同的方法.

覆写,也叫覆盖或重写.如果一个父类有一个方法名为test,在他的子类里也写一个方法名字也是test,两个方法返回类型和参数都相同,但是方法体不同.

也就是说,覆写指的是不同的类中(父类方法,子类覆写)有两个或多个返回类型,方法名,参数都相同,但是方法体不同的方法

另外,超载指的是覆盖,也就是覆写.过载则和重载同一概念