gpt4 book ai didi

Java:允许具有一个可变参数的函数和具有相同名称和一个相同类型参数的函数吗?

转载 作者:行者123 更新时间:2023-11-29 09:59:01 38 4
gpt4 key购买 nike

<分区>

在准备 Java 认证考试时,我很惊讶地看到 Java 允许这样做:

public class Consumer {

public void buy(Object o) {
System.out.println("Buying one object");
}

public void buy(Object... o) {
System.out.println("Buying multiple objects");
}

public static void main(String[] args) {
Consumer consumer = new Consumer();
consumer.buy(new Object());
consumer.buy("a String");
}

}

这个类可以正常编译和运行。它打印两次“Buying one object”。实际上我想看到一个编译器错误,因为这两个函数都可以使用。编译器如何在这里选择最匹配的函数呢?当我只传递一个参数时,它是否总是选择非可变参数函数?

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com