方法重写
重写:
关键字:override
概念:继承关系中,子类将父类已有的方法重新实现,叫做方法的重写。
public class Animal {
String name;
int age;
public void eat(){
System.out.println("动物吃东西.....");
}
}
public class Fish extends Animal {
String color;
@Override
public void eat() {
System.out.println("鱼游海底。。。。吃东西。。。");
}
}
Animal a = new Animal();
a.eat();//父类对象,访问父类方法
Fish fish = new Fish();
fish.eat();//子类对象,访问子类重写后的方法。。。
规则:
A:继承关系中。
B:子类重写的方法的声明,必须和父类一致。
方法的返回值(注意点:子类重写的方法的返回类型可以是父类方法返回类型的子类),参数列表,方法名。
C:子类重写方法的访问权限,不能比父类更加严格。
D:重写的方法,不能抛出比父类更大的异常。
方法重载:overload
概念:一个方法,因为参数不同,执行的具体的方法也不同。
规则:
A:同一个类中。
B:方法名必须一致。
C:参数列表必须不同:顺序,个数,类型。
比较点 | 重写 | 重载 |
单词 | Overriding | Overloading |
范围 | 继承(子类) | 同一个类里 |
对方法的要求 | 和父类的方法名一致,参数列表一致,返回类型一致 | 方法名一致,参数列表不同,返回值类型无要求 |
对访问权限的要求 | 不能比父类的访问权限更加严格 | 对访问权限没要求 |