JavaSE基础(20)方法重写(override),方法重载(overload)
方法重写
重写:
关键字:override
概念:继承关系中,子类将父类已有的方法重新实现,叫做方法的重写。
public class Animal {String name;int age;public void eat(){System.out.println("动物吃东西.....");}
}public class Fish extends Animal {String color;@Overridepublic 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 |
范围 |
继承(子类) |
同一个类里 |
对方法的要求 |
和父类的方法名一致,参数列表一致,返回类型一致 |
方法名一致,参数列表不同,返回值类型无要求 |
对访问权限的要求 |
不能比父类的访问权限更加严格 |
对访问权限没要求 |