如何解决Arrays 类中的 .toString() 是如何重载的
我遇到了一个方法不能同时被覆盖和重载的概念。但是当我使用 Arrays.toString() 时,
如果我错了,请纠正我,但是 toString() 方法已同时被覆盖和重载。这怎么可能?
解决方法
当您在子类中具有完全相同的方法签名时,您将被覆盖。当您有两个具有不同类型或数量的参数的相同命名方法时,您正在重载。您可以覆盖一个方法,然后重载它,但是您可以编写一个方法,并且当您重载它时,您最终会覆盖一个超类方法。一件事不排除另一件事。
让我们有一个像这样的超级类:
public class Super {
public void testMethod() {}
// Overload
public void testMethod(String param) {}
}
然后用这样的子类扩展它:
public class Sub extends Super {
// Override only
@Override
public void testMethod() {}
// Overload only
public void testMethod(int param) {}
// Overload and Override
@Override
public void testMethod(String param) {}
}
如您所见,您可以通过多种方式仅重载、仅覆盖或两者兼而有之。如前所述,一件事不排除另一件事。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。