我们知道默认情况下,每个类最终都从java.lang.Object
类继承,这就是为什么像toString
这样的方法可以随时用于每个类的原因。因此,泛型类有效如下:
public class Foo extends java.lang.Object {
public Foo() {super(); }
}
但是,是否可以创建一个不会自动从Object
类继承的类,因此没有超类?如果是这样,会产生什么影响?
答案 0 :(得分:3)
我们不能在没有java.lang.object
作为超类的情况下编写课程。编译器会自动扩展对象类。只有对象类本身和接口是不扩展对象类的接口。
答案 1 :(得分:2)
不,那是不可能的。来自documentation:
Class Object是类层次结构的根。 每个班级都有 作为超类的对象。所有对象,包括数组,都实现了 这类方法。
答案 2 :(得分:1)
我不相信你可以拥有一个不继承Object
的班级。引自Object as a Superclass ..
java.lang包中的Object类位于顶部 类层次结构树。每个班级都是直系或间接的后代, Object类的。您使用或编写的每个类都继承 Object的实例方法。你不需要使用任何这些方法, 但是,如果您选择这样做,您可能需要使用代码覆盖它们 这是特定于你的班级。
如果没有明确说明继承,则隐含地说明。现在,继承显然不会形成一个循环。 Object
类是唯一一个继承自nobody的类,它是层次结构的顶层。