首页 > 解决方案 > 方法重载未按预期工作

问题描述

我是 Java 新手,想学习方法重载,有点困惑。这是我的程序

class Adder {
    static void add(int a, int b) {
        System.out.println("a method invoked");
    }

    static void add(long a, int b) {
        System.out.println("b method invoked");
    }
}
class TestMethodOverloading {
    public static void main(String[] args) {
        Adder.add( 9223372036854775807,12);
    }
}

我收到编译器错误说

java: integer number too large

我很困惑为什么这里没有调用带有参数 long 的方法添加?

标签: javamethodsfloating-pointoverloadinglong-integer

解决方案


你错过了数字末尾的 L 表示它很长。


推荐阅读