一、什么是方法重载
1、定义: 在Java程序中,同一个类可以有两个或者多个方法名字相同,只要参数不同即可,则称为方法的重载。
其重要注意:
1) 必须是在同一个类中
2) 方法名相同
3) 方法参数的个数、顺序或类型不同
4) 与方法的修饰符或返回值没有关系
2、如何区分调用哪个方法
当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行
需要备注: OC语言是没有方法重载一说的,因为同一个类里面不允许出现相同方法名的方法。
例如:
- (void)test:(int)number;
- (void)test:(float)number;
这样编译是不允许通过的,因为可以看出OC可以通过参数个数实现函数重载的。
3、主函数可以被重载么 ?
主函数 : 是一个特殊的函数,是固定格式的,作为程序入口,可以被jvm识别。
public static void main(String[] args){}
二、方法重载的一些例子
创建一个类文件,命名为MethodOverLoad,并勾选入口函数。演示print方法重载。
1、定义一个无参无返回值的print方法
public void print(){System.out.println("无参的print方法");}
2、定义一个有参数无返回值的print方法
public void print(int age,String name){
System.out.println("age:"+age);
System.out.println("name:"+name);
}
3、定义一个有参数有返回值的print方法
public void print(int age,String name){
System.out.println("age:"+age);
System.out.println("name:"+name);
}
4、定义一个有参数有返回值的print方法
public void print(String name,int age){
System.out.println("age:"+age);
System.out.println("name:"+name);
}
在入口函数函数中调用如下:
public static void main(String[] args) {
MethodOverLoad hello = new MethodOverLoad();
hello.print();
hello.print(12, "jack");
System.out.println();
hello.print("rose", 23);
}
输出结果:
无参的print方法
age:12
name:jack
age:23
name:rose