方法重载(overload)与方法覆写(override)的区别:
1、在概念上:
重载:方法名称相同,参数类型及个数不同
覆写:方法名称、返回值类型、参数的类型及个数完全相同
2、在范围上:
重载:发生在一个类里
覆写:发生在两个有继承关系的类里
3、在权限限制方面:
重载:没有权限限制
覆写:被覆写的方法不能拥有比父类更严格的访问控制权限
方法重载范例
class Person{
public int fun(){
return 1;
}
public int fun(int a){
return a;
}
public int fun(int a,int b){
return a+b;
}
}
public class Test{
public static void main(String[] args) {
System.out.println(new Person().fun());
System.out.println(new Person().fun(3));
System.out.println(new Person().fun(4,6));
}
}
方法覆写范例
class Person{
public void fun(){
System.out.println("我是父类的方法");
}
}
class Student extends Person{
@Override
public void fun() {
super.fun();
System.out.println("我是子类的方法");
}
}
public class Test{
public static void main(String[] args) {
new Student().fun();
}
}