方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时,会根据不用的参数表选择对应的方法
比如
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个参数的方法 而如何调用上面已经说明了