如果一个类 Alpha 有一个参数为 public void foo(String... args)
的方法,并且试图在子类 Beta 中通过说 public 覆盖相同的方法void foo(String a)
。然后创建一个引用对象并将其实例化为子类 Beta 并尝试从 Alpha 访问 foo 方法。它返回 Alpha 类的值而不是 Beta 子类的值。
它不应该从 BETA 类返回值作为其初始化和分配的 Beta 类对象吗?
Method(String ... args)
和 Method(String a)
有什么区别?
最佳答案
因为Beta
中的方法不会覆盖 Alpha 中的那个,因为它没有相同的形式参数。 String...
与 String
不同,很像String[]
的方式与 String
不同.
关于java - (String ... args) 的值如何影响子类覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766444/