在java中,一个类内允许有同名的方法,前提是方法结构不同(参数不同、返回类型不同)
直接上代码,代码虽然长但易理解(耐心看完即可理解):
//在Test.java文件中
public class Test{
String name;
int number;
//三个构造方法实现构造方法的重载
public Test(){
System.out.println("Test类无参构造方法");
}
public Test(int a){
this.number = a;
System.out.println("Test类一个int类型参数构造方法");
}
public Test(String b){
this.name = b;
System.out.println("Test类一个String类型参数构造方法");
}
//三个同名方法实现方法的重载
public void func1(){
System.out.println("我是方法一,没有参数");
}
public void func1(int num1,int num2){
System.out.println("我是方法一,"+"参数为:"+num1+"、"+num2);
}
public void func1(int num,String str){
System.out.println("我是方法一,"+"参数为:"+num+"、"+str);
}
//main方法
public static void main(String[] args){
Test t1 = new Test();
Test t2 = new Test(10);
Test t3 = new Test("zhangsan");
t1.func1();
t1.func1(100,200);
t1.func1(500,"haha");
}
}
仔细看完代码,这里我直接附上运行结果吧:
总结 :在java中,同一个类下可以定义“同名不同型”的方法(构造方法、成员方法),调用时进行比对符合类型的,然后去调用,该过程即方法的重载