java - 使用 var-args 覆盖字符串

标签 java oop methods overriding variadic-functions

通常使用相同的方法 var arg 方法覆盖 Var arg 方法,但在我的代码中使用 var args 覆盖正常方法。

但一般来说,Var args 方法应该只覆盖其他 var args 方法或被其他 var args 方法覆盖,这与 Test.go(String[])A.go(String...).

但是我得到了输出T。

class A{
    public void go(String...s){
            System.out.println("A");
    }
}

class Test extends A {

    public void go(String[] a){
        System.out.println("T");
    }

    public static void main(String[] args){
        A a = new Test();

        a.go("dd");
    }
}

输出:T

最佳答案

String[]String... 在某些情况下是等效的,因此可以覆盖 go(String... s)通过go(String[] s)。这是java中表示数组的方式之一。

关于java - 使用 var-args 覆盖字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55450131/

相关文章:

Java 继承类的不兼容类型

java - Java 双重哈希问题

scala - 数组 ("one", "two").mkString (":") 在方法返回 WrappedArray 中定义,而不是字符串

java - 如何从主类之外访问 Spring bean

java - 如何从具有多行的 SQL 查询中获取非字符串数组字段

java - 如何在android studio中使用sqlite获得多个外键的良好语法

java - 从斯坦福分类器输出置信度分数的方法?

javascript - 如何在 JS 中调用 thunk 来访问子对象属性?

java - 添加参数 do 方法后应用程序崩溃

perl - 在 Perl 中递归打印数据结构