首页天道酬勤java多态,java重载和重写

java多态,java重载和重写

张世龙 05-05 14:52 27次浏览

一.重载

重载方法规则:

1、重载面向同一个班级。

2、重载方法名称相同。

3、参数列表:重装方法必须修改参数列表。

4、返回型:可以改变返回型。

5、修饰符:可以改变修饰符。

6、异常:可宣布新的或更广泛的异常。

其中:

1 .方法重载是使类能够统一处理不同类型的数据的手段。 同时存在多个同名函数,且具有不同的参数数/类型。 重载加载是类中多态性的表示,属于编译时多态性。

2. Java方法重载是指可以创建多个在类中具有相同名称但定义不同参数的方法。 在调用方法时,多态性往往取决于传递给它们的参数的数量和类型,具体决定要使用哪个方法。

3 .重载时,方法名称必须相同,但参数类型和数量不同,返回值类型可以相同或不同。 返回类型不能作为重载函数的区分标准。

二、重写(封面)。

1、改写是父类和子类之间的多态性。

2 .参数列表:必须与已重写方法的参数列表完全匹配。

3 .返回类型:必须与在超类中重写的方法中声明的返回类型或子类型完全相同。

4 .访问级别:不能强于改写的方法。 也可以比被改写的方法弱。

5 .非检查异常:改写方法可以抛出任何非检查异常,无论改写方法是否宣告该异常。

6检查异常:改写方法一定不能扔出新的检查异常,或者比改写方法宣告的检查异常更宽的检查异常。

7 .无法改写标志为final、static的方法。

1 .父类与子类之间的多态性是运行时多态性或编译时多态性,它重新定义父类的函数。 在子类中定义方法时,如果与该方法的父类具有相同的名称和参数,则该方法将被重写。 在Java中,子类继承父类的方法,而不需要重写同一方法。 但是子类可能希望对父类的方法进行一定的修改,而不是直接继承父类的方法,需要采用方法重写。 方法的改写也称为方法的覆盖。

2 .如果子类中的方法和父类中的任何一个方法具有相同的方法名称、返回类型和参数表,则新方法将复盖原始方法。 如果需要父类特定的方法,请使用引用当前类的父类的super关键字。

3 .子类函数的访问限定权限必须少于父类;

总结:

重载和改写。

方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重载加载是父类与子类之间多态性的表示,重载加载是类中多态性的表示。 在子类中定义方法时,如果与该方法的父类具有相同的名称和参数,则该方法将被重写。

如果子类中的对象使用此方法,则会调用子类中的定义。 对它来说,父类中的定义就像被“屏蔽”了一样。 此外,如果子类的方法名称和参数类型和数量与父类相同,则子类的返回类型必须与父类相同。 如果类中定义了多个同名的方法,并且它们具有不同的参数或不同的参数类型,则称为“方法重载”。 Overloaded方法可以更改返回类型。 也就是说,重载的返回类型可以相同,也可以不同。

运行时多态性和编译时多态性参考: http://blog.csdn.net/why _ still _ confused/article/details/51295707

java面向对象,方法重写和方法重载