重载:
在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不 同)则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是 否相同来判断重载。public class Father { public void sayHello(){ } public void sayHello(String name){ } }
重写:
- 发生在父类与子类之间
- 方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同
- 访问修饰符的限制一定要大于被重写方法的访问修饰符public>protected>default>private)
- 重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常
public class Father { public void sayHello(){ System.out.println("没有重写"); } }
public class test extends Father { public static void main(String[] args) { test test = new test(); test.sayHello(); } @Override public void sayHello() { System.out.println("重写了"); } }
输出结果:重写了