1.重写
重写就是子类继承父类的方法时,但又不想方法中的类容完全一样,所以我们就需要用到方法的重写。
(1)方法名、参数列表、返回类型必须相同;(重写的返回类型可以是父类的子类型)
(2)重写的访问修饰符必须大于被重写的访问修饰符;(public>protected>default>private)
2.重载
重载就是在一个类中,有方法的方法名相同但参数类型不同(参数个数不同,参数顺序不同,参数类型不同),这就是重载,重载对返回类型没有要求。
(1)参数不同;
(2)对返回类型没有要求。
面试时重载与充写的区别?
答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同、参数顺序不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。