重载(Overload)
方法重载,就是在类中可以创建多个方法,它们具有相同的方法名,但具有不同的参数和不同的定义。
重载时,方法名要相同,参数类型和个数不一样,返回值类型通常是相同的。
class Hello {
public void hello() {
System.out.println("Hello, world!");
}
public void hello(String name) {
System.out.println("Hello, " + name + "!");
}
public void hello(String name, int age) {
if (age < 18) {
System.out.println("Hi, " + name + "!");
} else {
System.out.println("Hello, " + name + "!");
}
}
}
重写(override)
发生在父子类中,方法名,返回值类型,参数列表必须相同,访问修饰符的限制一定要大于等于被重写方法的访问修饰符;重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。而检查当前方法是否重写我们使用@Override来配合编译器检查
class Personx{
public void run() {
System.out.println("Person父类的run()方法");
}
}
class Student extends Personx{
//对父类的run()方法的重写
//@Override //配合编译器检查当前方法是否重写
public void run() {
//super.run();
System.out.println("子类中的run()方法");
//super.run();
}
}