1.重载:一个类中定义多个相同名称的方法

2.要求:方法名称相同

    参数列表不同(类型,个数,顺序)

    与访问修饰符、返回值类型无关

3.调用带有重载的方法时,需要根据传入的实际参数去找与之匹配的方法

例如:定义一个 名称为show()的重载方法 show所传递的参数、个数及顺序各不相同

package com.monv.classtest;
/**
 * 方法重载(一个类中定义多个相同名称的方法)
 * 要求:方法名称相同
 *     参数列表不同(类型,个数,顺序)
 *     与访问修饰符和返回值类型无关
 * @author monv
 *
 */
public class Operation {

    public void show(){
        System.out.println("无参数");
    }
    
    public void show(int num){
        System.out.println("这是一个Int型的参数:"+num);
    }
    
    public void show(String name){
        System.out.println("这是一个String型的参数:"+name);
    }
    
    public void show(int num,String name){
        System.out.println("这是一个 int 和 String类型的参数:"+num+"------"+name);
    }
    
    public void show(String name,int num){
        System.out.println("这是一个 String 和 int 类型的参数:"+name+"------"+num);
    }
}

重载方法的调用:调用的时候 会根据传入的参数的类型去找与之匹配的show()方法  实例如下:

package com.monv.classtest;

public class TestOperation {
    public static void main(String[] args) {
        //创建一个Operation类型的对象
        Operation ope = new Operation();
        
        ope.show();//结果:无参数
        ope.show(100);//结果:这是一个Int型的参数:100
        ope.show("小明");//结果:这是一个String型的参数:小明
        ope.show(100,"小王");//结果:这是一个 int 和 String类型的参数:100------小王
        ope.show("小明",200);//结果:这是一个 String 和 int 类型的参数:小明------200
    }
     
}

4.注意以下方法不是重载

//这两个方法的名称虽然一样 但是传入的参数的类型是一样的 所以不是重载方法
public void show(int num){}
public void show(int num1){}

 

版权声明:本文为mo-nv原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mo-nv/p/13336338.html