学习方法

什么是方法重载

时间:2021-07-27 10:55:18 学习方法 我要投稿

什么是方法重载

  方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。以下是小编精心整理的什么是方法重载,欢迎大家借鉴与参考,希望对大家有所帮助。

  方法的重载的作用

  java允许在一个类中,多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载,编译器会根据实际情况挑选出正确的方法,如果编译器找不到匹配的参数或者找出多个可能的匹配就会产生编译时错误,这个过程被称为重载的解析

  1 普通方法的重载

  普通方法的重载是Java实现多态技术的重要手段,为编程带来了很多便利

  当方法同名时,为了让编译器区别他们,至少需要下面之一不同

  1 参数个数不同

  2 对应位置上的参数类型不同

  不允许参数完全相同而只是返回值不同的情况出现。无法进行编译,程序在eclips中显示错误

  2 构造方法的重载

  见文章构造方法的继承

  重载的解析

  当类的设计者提供了重载方法之后,类的使用者在使用这些方法时编译器需要确定调用哪一个方法,确定的唯一依据是参数列表,确定的过程被称为重载的.解析。

  以下举些例子说明:

  show(int a ,int b,int c) //1

  show(int a ,int b,double c) //2

  show(int a ,double b,double c)//3

  show(double a,double b,int c) //4

  下面是调用

  show(1,2,3);//1,2,3,4都是可行方法所有参数完全匹配1

  show(1.0,2.0,3.0);//没有一个可行方法

  show(1.0,2,3);//4是最佳可行方法

  show(1,2.0,3);//3,4都是可行方法,没有最佳可行方法,报错

  重载和覆盖都是多态的表现,他们在某些地方很相似,很容易引起初学者的疑惑,这里将它们之间的区别总结如下

  1 重载和覆盖的方法名称都相同,但重载要求参数列表不同,而覆盖要求参数列表完全相同。

  2 重载对于方法前面的修饰符没有限制,而覆盖则对这些修饰符的使用有限制

  3 重载时编译器在编译期间就可以确定调用那一个方法,而覆盖则有可能在运行期间才能确定。

  方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。

  Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法

  扩展资料:

  具体规范

  一、方法名一定要相同。

  二、方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

  1、如果参数个数不同,就不管它的参数类型了!

  2、如果参数个数相同,那么参数的类型必须不同。

  三、方法的返回类型、修饰符可以相同,也可不同。

【什么是方法重载】相关文章:

什么是讣告?04-02

什么是简历12-27

什么是讣告09-23

什么是会议简报05-24

什么是仲裁协议04-27

什么是在线讣告?01-18

什么是优秀简历12-27

什么是户籍证明01-20

什么是婚育证明04-21

什么是自有住房10-05