8.4 重载
重载在整个Java语言设计中,有着非常重要的地位。本节将先讲述重载的概念,然后使用大量的实例,让读者更加清晰地熟悉重载,并且联系实际,将这个概念使用到现实生活中的程序开发中去,从而为以后的开发工作奠定基础。
8.4.1 什么是重载
在Java中,同一个类中的两个或两个以上的方法可以有同一个名字,只要它们的参数声明不同即可,这种方法就被称为重载(overloaded),此过程称为方法重载(method overloading)。
【实例8.14】下面看一个详细的实例。
01 class overload
02 {
03 ///一个普通的方法,不带参数
04 void test()
05 {
06 System.out.println("No parameters");
07 }
08 ///重载上面的方法,并且带了一个整型参数
09 void test(int a)
10 {
11 System.out.println("a:"+a);
12 }
13 ///重载上面的方法,并且带了两个参数
14 void test(int a, int b)
15 {
16 System.out.println("a and b:"+a+""+b);
17 }
18 ///重载上面的方法,并且带了一个双精度参数,与上面带一个参数的重载方法不一样
19 double test(double a)
20 {
21 System.out.println("double a:"+a);
22 return a*a;
23 }
24 public static void main(String args[])
25 {
26 overload o=new overload();
27 o.test();
28 o.test(2);
29 o.test(2,3);
30 o.test(2.0);
31 }
32 }
【代码说明】第4~23行定义了4个相同名称的test()方法,不同的是它们的参数,有没有参数的,有一个参数的,也有两个参数的,而且参数可以是不同的数据类型。第27~30行分别调用这4个方法。
【运行效果】
No parameters
a:2
a and b:2 3
double a:2.0
通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段,尽量减少代码和减少程序的函数种类。