Java教程

Java方法03 方法的重载

本文主要是介绍Java方法03 方法的重载,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法的重载(Overload)

  • 重载就是在一个类中,有相同的方法名称,但形参列表不同的函数,这样的方法之间构成重载关系。

  • 方法的重载的规则

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

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

上(狂神说)下(Java小伙_银子

===========================================================

体现形式:

方法重载的主要形式有:参数的个数不同、参数的类型不同、参数的顺序不同,与形参变量名和返回值类型无关,但建议返回值类型最好相同。

判断方法是否重载的核心:调用能否区分。

那么在调用这么多个方法名相同的方法的其中一个方法时,该怎么调用呢?

看下图

如果返回值类型不同怎么样?

如下面的例子:

可见,调用方法会改变,而且返回值类型由void转为int时还要在方法体中加入return()语句,才能被调用。

    ``` JAVA
    package training;
    
    public class 方法重载 {
    
        void show(){
            System.out.println("show()");
        }
    
        int show(int i){
            System.out.println("show()");
    
            return 0;
        }



​ public static void main(String[] args) {
​ 方法重载 ot = new 方法重载();

            ot.show();//show()
            ot.show(66);//show()


​ }
​ }

    ```

重要

/*
   变成实现重载体现形式的测试
*/
public class OverLoadTest{
    
    //这个show方法就叫这个OverLoadTest类的成员方法
    void show(){
        System.out.println("show()");
    }
    
    void show(int i){   //构成方法重载,体现在参数的个数不同
        System.out.println("show(int)");
    }
    
    void show(int i,double d){//构成方法重载,体现在参数的个数不同
        System.out.println("show(int,double)");
    }
    
    void show(int i,int j){//构成方法重载,体现在参数的类型不同
        System.out.println("show(int,int)");
    }
    
    void show(double d,int i){//构成方法重载,体现在参数的顺序不同
        System.out.println("show(double,int)");
    }
   /* 
    void show(int d,double i){//error  与形参变量名无关
        System.out.println("show(int,double)");
    }
   */ 
    
   /* 
    int show(){  //error 与返回值类型无关
        System.out.println("show()");
    }
   */ 
    public static void main(String[] args){
        //声明本类类型的引用 指向本类的对象
        OverLoadTest ot = new OverLoadTest();
        //调用成员方法
        ot.show();  //show()
        ot.show(66); //show(int)
        ot.show(66,3.14); //show(int,double)
        ot.show(66,118);  //show(int,int)
        ot.show(66.0,118);//show(double,int)
    }
}
这篇关于Java方法03 方法的重载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!