> 文章列表 > JavaSE基础(20)方法重写(override),方法重载(overload)

JavaSE基础(20)方法重写(override),方法重载(overload)

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

范围

继承(子类)

同一个类里

对方法的要求

和父类的方法名一致,参数列表一致,返回类型一致

方法名一致,参数列表不同,返回值类型无要求

对访问权限的要求

不能比父类的访问权限更加严格

对访问权限没要求