为什么对象类是Java中的超类?
答案 0 :(得分:16)
这是一个很好的问题。 Java选择使单个类成为所有内容的最终父类,以便有一种简单的方法来传递任意对象,而无需知道其类型(即,您可以使用声明的Object类型来引用每个项目在类型系统中,甚至是使用其包装类的基元)。但是,有一些OOP语言,例如C ++,其中没有Java中的通用基类。拥有通用基类的另一个好处是,处理超类的逻辑不必专门用于顶级类(通用基类,Object本身除外)。
答案 1 :(得分:4)
这就是我们所说的Java中面向对象编程的公理。代码中的每个抽象都是一个对象。它包含一些适用于您在代码中使用的每个信息的内容:
equals
和hashCode
方法在给定的抽象中建立平等理论(参见相应的javadoc); toString
以人类可读(可能是程序员可读的)格式表示对象(因为我们大多数人仍然使用显示器和键盘); getClass
为给定的抽象提供反射功能; 如果您学习Java,最好学习您使用的任何书籍的“继承”部分,然后尝试自己回答这个问题。
答案 2 :(得分:1)
脱离我的头顶
将“对象”定义为根类可确保VM可以依赖为实用程序方法(如equals,clone,hashcode等)提供的接口
垃圾收集器可以确保用户认为可以协调的任何内容都可以在finalize方法中执行
答案 3 :(得分:1)
它为程序员创建的所有派生对象提供了一个模板。 每个用户定义的对象可能需要的关键功能都可以通过这种方式获得。
对象锁定(用于并发问题解决)
克隆
列出更重要的名称。
答案 4 :(得分:1)
Java类(隐式/显式)extends Object
,原因如下:
native
。这样,所有对象都被注册为JVM可以理解和执行的本机对象。不要忘记JVM是用C ++编写的(无论它执行的平台如何)。finalize
方法。这里已经提到了其余部分。
答案 5 :(得分:0)
java程序本质上是对
的操纵方法和类。
该类继承了构建结构的一些属性 后面。
Object是基类,所有类都是Object的子类。