ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### [区分重载方法](https://lingcoder.gitee.io/onjava8/#/book/06-Housekeeping?id=%e5%8c%ba%e5%88%86%e9%87%8d%e8%bd%bd%e6%96%b9%e6%b3%95) 如果两个方法命名相同,Java是怎么知道你调用的是哪个呢?有一条简单的规则:每个被重载的方法必须有独一无二的参数列表。你稍微思考下,就会很明了了,除了通过参数列表的不同来区分两个相同命名的方法,其他也没什么方式了。你甚至可以根据参数列表中的参数顺序来区分不同的方法,尽管这会造成代码难以维护。例如: ~~~ // housekeeping/OverloadingOrder.java // Overloading based on the order of the arguments public class OverloadingOrder { static void f(String s, int i) { System.out.println("String: " + s + ", int: " + i); } static void f(int i, String s) { System.out.println("int: " + i + ", String: " + s); } public static void main(String[] args) { f("String first", 1); f(99, "Int first"); } } ~~~ 输出: ~~~ String: String first, int: 1 int: 99, String: Int first ~~~ 两个`f()`方法具有相同的参数,但是参数顺序不同,根据这个就可以区分它们。