方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时,会根据不用的参数表选择对应的方法
比如
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class Test {
void max( int a, int b) {
System.out.println(a>b ? a:b);
}
void max( double a, double b) {
System.out.println(a>b ? a:b);
}
public static void main(String[] args) {
Test t = new Test();
t.max( 3 , 4 );
t.max( 3.0 , 4.4 );
}
}
|
输出为:
1
2
|
4
4.4
|
构造方法也可以重载
再来看一个例子吧
1
2
3
4
5
|
class ChongZai{
public void a( int a);
public void a(Strting a);
public void a( int a, int b);
}
|
如上就是一个重载了 而重载要满足一下条件:
1.必须是同一个类
2.方法名(也可以叫函数)一样
3.参数类型不一样或参数数量不一样
同时我也给LZ讲一下重载的作用吧 还是以上面的例子说吧
1
2
3
4
|
ChongZai cz = new ChongZai();
cz.a( 1 ); //调用a(int a);
cz.a( "传的参数" ); //调用a(String a)
cz.a( 1 , 2 ); //调用a(int a,int b)
|
上面已经说了调用哪个方法了 而这个调用方法是程序按照你输入的参数来判断调用哪个方法的
重载的功能也讲下吧 就比如说你做游戏 那么可能游戏可以有多个人完 而完的人数又不确定是几个人 那么就可以用到重载了
比如说最多3个人完 那么你可以定义3个参数
1
2
3
|
public void a(String a);
public void a(String a,String b);
public void a(String a,String b,String c);
|
两个人那么你就调用2个参数的方法 3个人你就调用3个参数的方法 而如何调用上面已经说明了