课时29:方法重载
方法重载的定义:当方法名称相同,参数的类型或个数不同的时候就称为方法重载。那么下面先通过程序来做一个简单的分析,现在要定义一个加法处理方法,该方法接收两个 Int 变量、三个 Int 变量、两个 Double 变量的加法处理。
范例:采用方法重载进行定义
public class JavaDemo{ public static void main(string args[]){ int resultA=sum(10,20);//调用两个int参数的方法 int resultB=sum(10,20,30);//调用三个int参数的方法 double resultC=sum(10.2,20.3); system.out.println(“加法执行结果:”+resultA) system.out.println(“加法执行结果:”+resultB) system.out.println(“加法执行结果:”+resultC) } public static int sum(int x,int y){ return x+y; } public static int sum(int x,int y,int z){ return x+y+z; } public static double sum(double x,double y){ return x+y; } }
计算结果:
这个时候可以发现同一个方法名称但是可以根据调用时传递的不同参数的类型或个数实现不同方法体的调用,这样就实现了方法重载的定义。
千万要记住一点,方法的重载与方法的返回值类型没有任何的关系,它只跟参数有关系,但是在实际的开发之中请一定要把握一个基本的开发原则:只要是方法重载,强烈建议其返回值类型相同。
它确实支持不同返回值类型的情况,但在实际应用中,建议人为地将返回值类型定义为相同。像我之前定义的那种情况,它只是对操作的说明。方法的返回值类型可以不同,但从开发习惯的角度,建议保持一致。
范例:观察一个程序代码
public class JavaDemo{ public static void main(string args[]){ system.out.println(1); system.out.println(1.1); system.out.println(true); system.out.println('A'); system.out.println(“Hello World!”); } }
你们有没有发现,很神奇的是,该方法可以接受整型、浮点型、布尔型和字符型。
所有的输出操作支持有各种数据类型,所以 System.out.println()本身就属于一个方法重载,而且是系统提供的。不同数据类型都可以实现正常输出。因此,这就是方法重载的定义形式。