一、方法的重写
方法的重写主要存在于继承体系中,表现为子类方法根据自身需要对父类方法进行继承并改写。重写一般只改变方法体的内容,不改变方法的外壳,即对参数列表、返回类型等都不进行改变。
二、方法的重载
方法的重载主要体现了Java的多态,为编译时多态。主要表现为在一个类中,对某个方法的改写。重载必须保证方法名相同,且参数列表不同,每个重载方法必须有一个独一无二的参数列表,可以通过改变参数个数、参数类型来实现。
最常用的就是构造函数的重载(拥有不同参数列表的构造函数)。
三、重写与重载的区别
-
重写体现了继承,是上下结构中对方法的改写;重载体现了多态,是同一层级中对方法的改写。
-
区别点 重写方法 重载方法 参数列表 一定不能修改 必须修改 返回类型 一定不能修改 可以修改 异常 可以减少或删除,一定不能抛出新的或者更广的异常 可以修改 访问 一定不能做更严格的限制(可以降低限制) 可以修改