重载和重写,都是java中多态的一种表现形式
1: 方法的重载
在同一个类中有一些方法的功能相同,仅仅是参数列表不一样,此时如果去定义不同的方法名很麻烦。
于是规定,方法名可以一样,但是参数列表
方法重载的判断标准:同类同名不同参,与其他无关。(不同参:不同的参数列表:个数不同,类型不同,顺序不同)
如:构造方法,Arrays的很多方法都是重载的。
必须不一样。所以就有了方法的重载。
2:方法的重写
使用:当父类中的方法不能满足子类的需要。
方法的重写又称方法的覆盖,一般用于子类根据需要可以对父类中的方法进行重新编写
重写的前提是:必须在继承体系下,也就是必须存在继承关系
重载的前提是:同一个类中
3:方法重写和重载的区别/关系
重载:同类同名不同参,与其他无关(同一个类中,方法名,参数列表不同--个数不同,类型不同,顺序不同)
重写:在子类和父类中存在,同名同参同返回值同访问修饰符的方法(返回值可以是其子类,访问修饰符不能比父类更严格)