在 Java 中,对象类作为超类

2022-09-04 08:25:16

为什么对象类是 Java 中的超类?


答案 1

这是一个好问题。Java选择使单个类成为所有内容的最终父类,以便有一种简单的方法来传递任何任意对象,而无需知道其类型(即,您可以使用声明的Object类型来引用类型系统中的每个项目,甚至是使用其包装类的基元)。但是,有些 OOP 语言(如 C++)没有像 Java 那样的通用基类。拥有通用基类的另一个好处是,处理超类的逻辑不必为顶级类提供特殊情况(通用基类 Object 本身除外)。


答案 2

这就是我们所说的Java中面向对象编程的公理。代码中的每个抽象都是一个对象。它包含一些适用于您在代码中使用的每个信息的内容:

  • equals以及在给定的抽象中建立相等理论的方法(参见相应的javadochashCode);
  • toString以人类可读(可能只有程序员可读)的格式表示对象(因为我们大多数人仍然使用显示器和键盘);
  • getClass为给定的抽象提供反射功能;
  • 一些组织面向对象的运行时的方法(垃圾回收,同步等)。

如果你学习Java,你最好学习你使用的任何书籍的“继承”部分,然后尝试自己回答这个问题。