Java的方法重载规则

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

重载的三个条件:

1.在同一个类中

2.方法名必须相同

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

  1. public class TestOverLoad{
  2. public void mOl(int i){
  3. System.out.println(i*i);
  4. }
  5. public void mOl(int i , int j){
  6. System.out.println(i+2);
  7. }
  8. public int mOl(String str){
  9. System.out.print(str);
  10. return 0;
  11. }
  12. }

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

说明:

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

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

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

方法的重载的规则:

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

方法重载的实现:


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


(0)

相关推荐

  • java的重载与重写

    原文链接http://zhhll.icu/2020/11/11/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/%E9%87%8 ...

  • Java中的多态详解

    一.多态的概念 多态分为类的多态和方法的多态,类的多态就是一个类型可以有不同的表现形态,什么样的类型才会具备多态呢?只有被多个子类继承或者实现的父类才具备多态的特征,因为在运行期间可以根据具体的子类表 ...

  • C#方法的重载

    C#方法的重载 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数.调用重载方法时,编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法.方法重载通常用于 ...

  • Java 方法

    public static int add(int a ,double b){ // 修饰符 返回值类型 方法名 形参 return a+b } 方法的重载 名称必须相同 参数列表必须不同 返回类型可 ...

  • Java中方法的重载详解(含系统配套视频)

    一.方法的概念 在之前我们学习了方法的定义,方法实现指定功能的代码块的组合,基本的定义 如下: 访问修饰符[static] 返回值类型[如果不需要返回值使用void]方法名(参数类型 参数名,参数类型 ...

  • Java定义

    多态的定义: 多态分为编译时多态和运行时多态. 编译时多态:方法的重载 运行时多态:定义的对象引用所指向的具体类型在运行期间才能确定 运行时多态的三个条件:继承.重写.向上转型 运行时多态就是子类继承 ...

  • Java学习:方法重载的使用规则

    方法的重载 对于功能类似的方法来说,因为参数列表不一样,却需要记住那多不同的方法名称,太麻烦. 方法的重载(Overload):多个方法的名称一样,但是参数列表不一样. 好处:只需要记住唯一一个方法名 ...

  • Java面向对象中:方法重载和方法重写以及区别、 this关键字和super关键字以及区别

    2020-04-13 Java面向对象中:方法重载和方法重写 .  this关键字和super关键字 方法重载:是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数 ...

  • Java方法重载

    在子类中如果创建了一个与父类中相同名称.相同返回值类型.相同参数列表的方法,只是方法体中的实现不同,以实现不同于父类的功能,这种方式被称为方法重写(override),又称为方法覆盖.当父类中的方法无 ...

  • 方法重载与可变参数与递归

    举例说明: //方法有修饰符,返回值类型,方法名,参数类型,参数名public static int name(int a,int b){//这里是形参,主方法内调用并给真实传递的才是实参 //方法体 ...

  • 方法重载

    方法名必须相同,参数列表不同(类型或个数或排列顺序不同) public static int max(int num1, int num2) { //方法体 } public static doubl ...

  • 从零开始学Java(十六)Java中方法覆盖的使用

    上篇说到Java继承的定义使用 今天来了解下Java中的方法覆盖,通过这篇文章让大家理解在什么情况下我们需要进行方法覆盖,以及掌握在满足什么条件的时候构成方法覆盖. Java方法覆盖Override ...

  • java函数方法详解(简单易懂)

    方法(函数) 函数的组成是: 访问修饰符 返回值 函数名(形式参数) { 函数内容; } 更多java函数方法详解视频课程学习地址:https://ke.qq.com/course/149432  有 ...

  • 方法覆盖和方法重载必须满足的条件

    方法覆盖必须满足下列条件(1) 子类的方法的名称及参数必须和所覆盖的方法相同(2) 子类的方法返回类型必须和所覆盖的方法相同(3) 子类方法不能缩小所覆盖方法的访问权限(4) 子类方法不能抛出比所覆盖 ...