在JAVA中,可以在同一个类中存在多个重命的,但参数不同的函数。这就是函数的重载(overlording)。
重载的特征:
函数名和返回值类型完全一致。
参数的数量不同、或数量相同而类型和次序不同,以方便JAVA编辑器对函数进行区分。
实例:
创建MyClass类,其中包含两个类,方法名一样,参数不一样
package study; //MyClass类中,有两个print方法,但是参数不一样,实现了重载 public class MyClass { public void print(String name){ System.out.println("姓名:"+name); } public void print(String name,int age){ System.out.println("姓名:"+name+"\t年龄:"+age); } }
实例化MyClass类:
import study.*; public class MyTest { public static void main(String[] args) { MyClass c=new MyClass(); c.print("张三"); c.print("李四",20); } }
输出结果:
姓名:张三
姓名:李四 年龄:20
如果函数名和参数类型一致,但函数返回值类型不一样,这不叫重载,这是一种错误写法。
因为函数名和参数类型一致时,JAVA编辑器不知道要返回哪个结果,所以这种情况是不允许的,如以下代码为错误代码
package study; public class MyClass { public void print(String name){ System.out.println("姓名:"+name); } public int print(String x){ System.out.println("姓名:"+name+"\t年龄:"+age); return 1; } }
方法重复,错误。
原文:http://www.cnblogs.com/ibelieve618/p/6363085.html