查看 String
类声明,您可以看到它扩展了 Object
类。
public final class String
extends Object
implements Serializable, Comparable<String>, CharSequence
在实际上不需要的地方显式编写 extends Object
有什么意义?
这背后有什么合乎逻辑的原因吗?
最佳答案
官方的oracle JDK源代码中没有。您正在查看哪个版本?
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence
无论哪种方式,您是否在源代码中编写了 extends Object
都没有什么不同。但是请注意,如果您必须扩展另一个合法类而不是 Object
,那么您将陷入死胡同,因为 Java 不支持多重继承。
更新
OP 正在查看 API 文档中的 String 声明。 Java 中的每个类都必须并且确实扩展了 Object。但是,源代码中是否写着extends Object
就是另一回事了。
String
类在源代码中没有extends Object
。但是,API 声明始终表明每个类都隐式扩展了 Object。
看看 source code .
关于java - 为什么String类扩展了Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18533207/