java重载和覆写的对比

📅 2026/8/22 2:22:37
java重载和覆写的对比
对比项目重载覆写英文名称OverloadOverride发生位置可以发生在同一个类中也可以发生在父子类之间只能发生在父类和子类之间方法名必须相同必须相同参数列表必须不同必须相同返回类型可以不同必须相同或满足协变返回类型访问权限没有特殊限制子类不能降低父类方法的访问权限是否需要继承关系不一定需要必须存在继承关系绑定时机编译时确定属于静态绑定通常运行时确定体现多态主要作用为同一个功能提供不同参数形式子类根据自身特点重新实现父类方法常用注解不需要特殊注解推荐使用Override典型示例run()和run(String s)父类、子类都有run()示例重载classPerson{voidrun(){}voidrun(Stringplace){}}两个方法的方法名相同但参数列表不同因此是重载。覆写classPerson{voidrun(){System.out.println(人跑步);}}classStudentextendsPerson{Overridevoidrun(){System.out.println(学生跑步);}}子类和父类的方法名、参数列表都相同因此是覆写。记忆方法重载看参数覆写看继承。也可以记成重载同名不同参覆写子类改写父类同名同参方法