java方法重载实例分享

KLQ 2020-09-03 14:28:08 java常见问答 7156

之前给大家讲了一下什么是java方法重载,那么下面要继续给大家介绍的就是实现方面的内容了,一起来看看具体的实例吧。

在比较数值的时候,数值的个数和类型是不固定的,可能是两个int类型的数值,也可能是两个double类型的数值,或者是两个double、一个 int 类型的数值;在这样的情况之下,就可以使用方法的重载来实现数值之间的比较功能。

下面是具体的代码实现:

public class OverLoading
{
    public void max(int a, int b)
    {
        // 含有两个int类型参数的方法
        System.out.println(a > b ? a : b);
    }
    public void max(double a, double b)
    {
        // 含有两个double类型参数的方法
        System.out.println(a > b ? a : b);
    }
    public void max(double a, double b, int c)
    {
        // 含有两个double类型参数和一个int类型参数的方法
        double max = (double)(a > b ? a : b);
        System.out.println(c > max ? c : max);
    }
    public static void main(String[] args)
    {
        OverLoading ol = new OverLoading();
        System.out.println("1 与 5 比较,较大的是:");
        ol.max(1, 5);
        System.out.println("5.205 与 5.8 比较,较大的是:");
        ol.max(5.205, 5.8);
        System.out.println("2.15、0.05、58 中,较大的是:");
        ol.max(2.15, 0.05, 58);
    }
}

在运行的时候,Java虚拟机会根据传递过来的不同参数来调用不同的方法。

下面是运行结果:

1 与 5 比较,较大的是:
5
5.205 与 5.8 比较,较大的是:
5.8
2.15、0.05、58 中,较大的是:
58.0

延伸阅读:

方法重载为什么不可以用方法的返回值类型区分呢?

对于int f( ) { }和void( ) { }两个方法,假如,这样调用int result = f();,系统能够识别是调用返回值类型为int的方法。

可是,Java调用方法的时候,可以忽略方法返回值,假如,采用下面的方法来调用f();,你能判断是调用哪个方法吗?

假如,你不能够判断,那么Java系统也会糊涂。

在编程过程当中,有一条重要规则就是不要让系统糊涂,系统一糊涂,肯定就是你错了。

所以的话,Java里不可以用方法返回值类型作为区分方法重载的依据。

你还想了解更多的java程序代码例子吗?请继续通过奇Q工具网来进行了解吧。

推荐阅读:

java对象类型转换实例分享

在java中的this如何使用?实际代码详解

在java中如何生成webservice的接口?详细图文解析