根据Math类的 Java API,Math 扩展了 Object 类:
public final class Math extends Object
但是,Math 不继承 Object 的方法,并且您也不能构造 Math 对象(编辑:此语句是错误的,部分是错误的;见下文)。
我的问题是为什么要这样做?如果它是一个对象,那么它应该具有 Object 的基本方法。如果它不是一个对象,那么我觉得它不应该扩展 Object.
而且,假设扩展 Object 有充分的理由,它是如何完成的?换句话说,继承的方法和构造函数是如何被抑制的?
数学是我心目中这种静态定义类最重要的例子(我猜你会这么称呼它?),但这个问题也可能适用于具有类似目的的类。
编辑:所以我知道所有类都隐式扩展 Object. 困扰我的是,对我来说,理论上“对象”的概念——具有状态和相关功能的东西——与这里正在做的事情之间存在逻辑脱节。