繁体   English   中英

Arrays.toString()是否覆盖Object的toString()方法?

[英]Does Arrays.toString() override Object's toString() method?

大家好,这让我感到困惑...

Arrays类中的所有toString()方法都是静态的,所以这真的覆盖了Object的toString()方法吗? 有人告诉我:

不,它不会覆盖Object的toString方法。 它包含从Object继承的toString,由于无法实例化该类,因此从未使用过它。 您在Arrays类中看到的是toString的重载版本。

所以我去了源代码,但没有看到这样的东西。 我错过了什么吗? 很抱歉提出这样的菜鸟问题。

Arrays类是实用程序类。 由于它不可实例化,所以Object的toString方法无关紧要。

您所看到的静态toString方法与标准toString方法完全无关,这从javadoc中的描述中可以清楚看出。 还要注意复数形式:这个名称有一个以上的方法,而且没有一个具有与Object的相同的签名:它们都带有一些参数。

ObjecttoString()方法没有参数。 Arrays所有toString方法都具有一种或另一种参数,因此它们不会覆盖从Object继承的toString()方法。 它们是与Object.toString()没有关系(就编译器而言)的不同方法。 但是,要使用继承的toString()实例方法,您将需要一个Arrays实例来调用继承的方法,并且由于您不能拥有这些实例中的任何一个,因此没有关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM