【问题标题】:why every class in java is a subclass of object? [duplicate]为什么java中的每个类都是对象的子类? [复制]
【发布时间】:2015-04-09 15:30:54
【问题描述】:

java.lang 包中的 Object 类位于类层次结构树的顶部。每个类都是 Object 类的直接或间接后代。您使用或编写的每个类都继承了 Object 的实例方法。 为什么我们需要一个类是 java 中所有其他类的超类?

【问题讨论】:

    标签: java oop


    【解决方案1】:

    因为这就是 Java 的设计方式。 Java 将所有内容(除了 pirmitives)视为一个对象,包括您的自定义对象。

    使所有新创建的类都从 Object 扩展而来是一个优势。它允许在创建新对象时自动使用常用方法和属性。

    一些常用的方法例如:toString()equals()..etc

    【讨论】:

      【解决方案2】:

      在所有类型之间有一个共同的行为/接口对于诸如比较之类的操作很有用。

      当您想要创建包含或可以包含不同类型的数组或其他集合时,它也很有用。

      【讨论】:

        【解决方案3】:

        Object 作为所有Java 类的隐式基类可以帮助您编写不依赖于精确类型的代码,例如集合、生成字符串表示的类等等。请参阅java.lang.Object 的文档,了解每个类“开箱即用”支持的方法列表。

        这绝不是所有语言的必需特性:还有其他语言没有强制性的公共子类。这样做是语言设计者的选择。

        【讨论】:

          猜你喜欢
          • 2018-12-16
          • 2013-10-07
          • 1970-01-01
          • 1970-01-01
          • 2012-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多