gpt4 book ai didi

java - 如果 Var args 方法也存在并且重载方法存在于 Java 方法中,会发生什么情况

转载 作者:行者123 更新时间:2023-11-30 06:05:13 26 4
gpt4 key购买 nike

这是一个完成方法重载的程序。

package com.tests;
public class BasicClass {

public void getMe(Object a) {
System.out.println("getMe 1");
}

public void getMe(Object a, Object b) {
System.out.println("getMe 2");
}

public void getMe(Object a, Object b, Object c) {
System.out.println("getMe 3");
}

public void getMe(Object a, Object b, Object c, Object d) {
System.out.println("getMe 4");
}

public void getMe(Object... parms) {
System.out.println("getMe 5");
}
}

这种多态性给我们带来的具体好处是什么?

最佳答案

这通常是为了优化。它允许在不创建数组的情况下执行常见操作(最多提供四个值),同时仍然提供允许任意数量参数的灵活性。

具体来说,假设我们没有前四个重载。在这种情况下,

instance.getMe("a", "b");

将被编译器转换为:

instance.getMe(new Object[] { "a", "b" });

如果实现不需要数组中的参数,最好避免创建数组。

关于java - 如果 Var args 方法也存在并且重载方法存在于 Java 方法中,会发生什么情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47303530/

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