版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42587283/article/details/89225377
目录
一、什么是方法的重写
二、什么是方法的重载
三、总结
一、什么是方法的重写
重写@Override,是子类对父类的允许访问的方法进行重新编写,形参与返回值都不能改变。
class people{
public void printHallow(String name){
System.out.print("hallow");
}
}
class HapplyPeople extends people{
public void printHallow(String name){
System.out.print("no");
}
}
//没重写时调用HapplyPeople 的printHallow方法输出的是hallow,继承之后输出的是no
方法重写的规则
-
如果父类方法申明了一个异常,子类只能申明这个异常的子类;例如父类抛出Exception异常,那么子类只能抛出IOException。
二、什么是方法的重载
重载@Overload,意思是在一个类里面,方法名相同但是传进去的参数必须不同,返回的参数也可以是不同的。
方法重载的规则
-
被重载的方法必须改变参数列表【参数类型、位置或者个数不一样】
-
被重载的方法可以更改访问修饰符
-
方法只能在同一个类或者在子类中被重载
代码如下
public class Test {
public void TestOverload(String a ,int b){
System.out.println("最开始的方法");
}
public String TestOverload(int b ,String a ){
return "改变传入参数的顺序";
}
public void TestOverload(String a ,int b, double c){
System.out.println("传进来三个参数");
}
private void TestOverload(){
System.out.println("更改访问修饰符");
}
}
三、总结
重写是父类与子类继承关系之间的多态性的体现。
重载可以理解成多态的具体表现形式。