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


通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段,尽量减少代码和减少程序的函数种类。