1 overloading 重载
(1) 方法重载是让类以一种统一的方式处理不同类型数据的手段,多个同名函数同时存在,具有不同参数个数/类型,重载是一个类中多态性的表现
(2) java方法重载就是在同一个类中创建多个具有相同的方法名,但是参数类型和个数不同,调用的时候根据传递过来的参数个数和类型判断该使用哪个方法
(3) 重载的时候,方法名要相同,但是参数类型和个数不同,返回值类型可以相同也可以不同,不以此作为判断是否重载的标准
2 overriding 重写
(1) 父类与子类之间的多态性,对父类的函数进行重新定义,如果在子类中定义了某个方法与父类有相同的方法名和参数,就说该方法被重写了,在java中,子类可继承父类中的方法,而不需要重新编写相同的方法,但有时候子类需要修改父类的方法,这个时候就是重写 覆盖父类方法
(2) 若子类中的方法与父类中的某一个方法具有相同的方法名 参数和返回类型,则新方法将覆盖原有方法。如果需要是用父类中的原有方法,可使用super关键字,该关键字引用了当前类的父类
总结:
多态性是面向对象编程的一个特性,和方法无关
简单说,就是同样一个方法能根据输入数据不同,做出不同的处理,即方法的重载--有不同的参数列表(静态多态性)
而当子类覆盖父类方法的时候,输入相同的参数名,做出不同与父类方法的响应,就要覆盖父类方法,即在该子类中重写改方法----相同参数,不同实现(动态多态性)
(1) 方法重载是让类以一种统一的方式处理不同类型数据的手段,多个同名函数同时存在,具有不同参数个数/类型,重载是一个类中多态性的表现
(2) java方法重载就是在同一个类中创建多个具有相同的方法名,但是参数类型和个数不同,调用的时候根据传递过来的参数个数和类型判断该使用哪个方法
(3) 重载的时候,方法名要相同,但是参数类型和个数不同,返回值类型可以相同也可以不同,不以此作为判断是否重载的标准
2 overriding 重写
(1) 父类与子类之间的多态性,对父类的函数进行重新定义,如果在子类中定义了某个方法与父类有相同的方法名和参数,就说该方法被重写了,在java中,子类可继承父类中的方法,而不需要重新编写相同的方法,但有时候子类需要修改父类的方法,这个时候就是重写 覆盖父类方法
(2) 若子类中的方法与父类中的某一个方法具有相同的方法名 参数和返回类型,则新方法将覆盖原有方法。如果需要是用父类中的原有方法,可使用super关键字,该关键字引用了当前类的父类
总结:
多态性是面向对象编程的一个特性,和方法无关
简单说,就是同样一个方法能根据输入数据不同,做出不同的处理,即方法的重载--有不同的参数列表(静态多态性)
而当子类覆盖父类方法的时候,输入相同的参数名,做出不同与父类方法的响应,就要覆盖父类方法,即在该子类中重写改方法----相同参数,不同实现(动态多态性)