Java 重写和重载

重写

重写是基于继承关系的,子类重写可以从父类那里继承的方法,重写的方法名,返回值,参数列表要和父类一致,唯一可以改变的是访问修饰符,子类重写方法访问权限>=父类。因为多态机制,如果父类暴露的方法可以被调用,那子类实现,其实调用的是子类的方法,加入父类方法可以被调用,但子类重写后访问权限小于父类,那是不是会很矛盾?子类扩展父类方法,而不是缩小。

重载

重载意味着同一个类,可以存在多个方法名相同的方法,重载的方法名相同,参数列表一定不同,在参数不同的条件下,返回值可以不同,所以重载的关键是参数列表,若只是返回值不同,则也不属于重载。

你可能感兴趣的:(Java 重写和重载)