java中重载与重写的区别(含示例代码)
程序员文章站
2022-05-20 12:13:40
...
java中重载和重写的区别:
1. 重载:
- 必须就有不同的参数列表;
- 可以有不同的返回类型;
- 可以有不同的访问修饰符;
- 可以抛出不同的异常;
举例:
public class Demo{
void speak(){
System.out.println("重载方法");
}
void speak(int a){
System.out.println(a);
}
}
注意:不能以返回类型来区分重载方法,只能以“参数类型”和“类名”来区分。
2.重写:
- 参数列表必须与被重写的方法的相同;
- 返回的类型必须与被重写的方法的相同;
- 访问修饰符的限定必须大于被重写的方法的访问修饰符(public>protected>default>private);
- 重写方法一定不能抛出新的检查异常或者重写的方法申明更加宽泛的检查异常;
举例:
public class Father{
public void speak(){
System.out.println("Father");
}
}
public class Son extend Father{
public void speak(){
System.out.println("Son");
}
}