
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java编程是程序员在学习面向对象编程开发的时候需要重点掌握的一个编程语言,而今天我们就通过案例分析来了解一下,Java编程方法重写与方法重载的区别。
1.方法重写
方法重写(Override)是一种语言特性,它是多态的具体表现,它允许子类重新定义父类中已有的方法,且子类中的方法名和参数类型及个数都必须与父类保持一致,这就是方法重写。
2.注意事项
在方法重写时需要注意的事项有以下5个:
注意事项1:子类方法的权限控制符不能变小,也就是如果父类方法的权限控制符是protected,那么子类的方法权限控制符只能是protected或public;
注意事项2:子类方法返回的类型只能变小,也就是说如果父类方法返回的是Number类型,那么子类方法只能返回Number类型或Number类的子类Long类型,而不能返回Number类型的父类类型Object;
注意事项3:子类抛出异常的类型只能变小;
注意事项4:子类方法名必须和父类方法名保持一致;
注意事项5:子类方法的参数类型和个数必须和父类保持一致。
3.方法重载
方法重载是指在同一个类中,定义了多个同名方法,但同名方法的参数类型或参数个数不同就是方法重载。
4.注意事项
方法重载的优先匹配原则有以下5个:
1匹配原则:优先匹配相同数据类型,方法重载会优先调用和方法参数类型一模一样的方法,比如只有一个String类型的参数调用,会优先匹配只有一个String参数类型的重载方法;
2匹配原则:如果是基本数据类型,会自动转换成更大的基本数据类型进行匹配,比如调用的参数是int类型,那么会优先调用基本类型long,而非包装类型Integer(这点需要特殊注意,容易出错)。
3匹配原则:自动装箱和自动拆箱匹配,参数调用也会进行自动拆箱和自动装箱的方法匹配,比如调用参数传递的是int类型,那么它可以匹配到Integer类型的重载方法;
4匹配原则:会按照继承路线依次向上匹配父类,如果匹配不到当前类,会尝试匹配它的父类,或者是父类的父类,依次往上匹配;
5匹配原则:可变参数匹配,如果方法是可选参数方法,那么它的调用优先级是低的,在后阶段才会匹配可选参数方法。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。