[英]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的相同的签名:它们都带有一些参数。
Object
的toString()
方法没有参数。 Arrays
所有toString
方法都具有一种或另一种参数,因此它们不会覆盖从Object
继承的toString()
方法。 它们是与Object.toString()
没有关系(就编译器而言)的不同方法。 但是,要使用继承的toString()
实例方法,您将需要一个Arrays
实例来调用继承的方法,并且由于您不能拥有这些实例中的任何一个,因此没有关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.