重写(Override):子类继承父类,子类中方法与父类的方法名称一样,参数列表【也】要一样。 //重写又称为覆盖、覆写
重载(Overload):类中定义方法的时候,可以多个方法的名称一样,但是参数列表【不】能一样。
关于重载概念不太理解的学友请查看我的另外一篇关于重载解释的文章https://blog.csdn.net/qq_40275740/article/details/103938256
重载一般用于定义一个多种数据类型都可接收的方法,此时将所有可能会接收的参数每种都写成一个方法,并都用同一个方法名,调用时则不需要因为输入不同的参数而选择的方法。 例子:System.out.println(); //输入任何类型的数据都能打印输出
重写一般用于子类继承父类,但在子类中对于父类的某个方法的内容需要改变,此时则对父类的方法进行重写,所以方法名和参数列表需保持一致,内容可以重写。若方法名和参数列表与父类方法不一致则属于在子类中定义新的方法,不是对父类方法的重写。
重写注意事项:
1.必须保证父子类之间方法的名称相同,参数列表也相同。
2.子类方法的返回值类型必须【小于等于】父类方法的返回值范围
例如:父类返回值是Object,子类的返回值是String,此时子类返回值类型小于父类的返回值范围。
3.子类方法的修饰权限必须【大于等于】父类方法的权限修饰符。
提示:public>protected>(default)>private //若方法前没写权限修饰符则默认为default
觉得有用的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~