Java的方法重载规则

来源:互联网 发布:无锡移动网络办理 编辑:程序博客网 时间:2024/05/18 02:29

        Java中的方法,即函数(文中我们统称之为“方法”),是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能。而且,同时还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值传入子程序,供计算机处理;所谓出口,就是指函数的返回值,在程序段执行之后,由此返回值将值传回给调用它的程序。

    重载的三个条件:

    1.在同一个类中

    2.方法名必须相同

    3.方法的参数类不同   (和返回值类型没有关系)

public class TestOverLoad{ public void mOl(int i){  System.out.println(i*i); } public void mOl(int i , int j){  System.out.println(i+2); } public int mOl(String str){  System.out.print(str);  return 0; }}


    重载的时候,方法名要一样,但是形参类型和个数不一样,返回值类型可以相同也可以不相同。


说明:

  • 参数列表不同包括:个数不同、类型不同和顺序不同。
  • 仅仅参数变量名称不同是不可以的。
  • 跟成员方法一样,构造方法(构造器)也可以重载。
  • 声明为final的方法不能被重载。
  • 声明为static的方法不能被重载,但是能够被再次声明。

方法重载是让类以统一的方式处理不同类型数据的一种手段。

    Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。


方法的重载的规则:

  • 方法名称必须相同。
  • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
  • 方法的返回类型可以相同也可以不相同。
  • 仅仅返回类型不同不足以成为方法的重载。


方法重载的实现:


    方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。