1

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

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

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

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

4

2 回答 2

7

该类Arrays是一个实用程序类。由于它不可实例化,因此 Object 的toString方法是无关紧要的。

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

于 2013-08-25T18:11:32.290 回答
0

ObjecttoString()方法没有参数。中的所有toString方法Arrays都有一种或另一种参数,因此它们不会覆盖toString()Object. 它们是不同的方法,与Object.toString(). 但是,要使用继承的toString()实例方法,您将需要一个实例Arrays来调用继承的方法,并且由于您不能拥有其中之一,因此没有任何后果。

于 2013-08-25T18:13:11.253 回答