我们可以通过从子类扩展来使用基类函数。通常我们使用在Object类中定义的equals()方法。我在书中读到每个类都将扩展Object类,以便我们能够使用像在我们的用户定义的类中使用子类引用的equals()。
我怀疑的是扩展Object类(即使是扩展Object类的任何其他类)我们也可以使用equals方法。
任何人都可以解释它是如何发生的吗?
答案 0 :(得分:1)
无论你做什么,Java
中的每个班级都默认(默认)延伸Object
。
答案 1 :(得分:0)
这是隐式规则,JVM可以实现该机制。
答案 2 :(得分:0)
如果你这样做:
Class Foo { }
编译器会将其视为
Class Foo extends Object { }
即使班级最多只能有1个超级班级,如果你这样做
Class Foo extends Bar { }
Class Bar extends Biz{ }
在层次结构中的某个时刻,其中一个类将具有Object类作为它的父类,所以即使只有最顶层的类直接从Object扩展,所有其他类都在层次结构也会间接扩展Object,因此可以访问Object类定义的方法,例如:clone,equals,finalize等...
问候。