Java--方法重载(Overload)
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 版权协议,转载请附上原文出处链接和本声明。