java中的默认超类

eufgjt7s  于 2021-08-20  发布在  Java
关注(0)|答案(5)|浏览(261)

我在读一篇关于继承的文章。关于继承的事实很少,但有一点我不明白什么是默认超类及其解释。什么是默认超类?
默认超类:除了没有超类的对象类外,每个类都有一个且只有一个直接超类(单一继承)。在没有任何其他显式超类的情况下,每个类都隐式地是对象类的子类。

jum4pzuy

jum4pzuy1#

除了没有超类的对象类之外,每个类都有并且只有一个直接超类(单继承)。在没有任何其他显式超类的情况下,每个类都隐式地是对象类的子类
首先要了解的要点:
java中有一个类对象,它已经在jre库中可用。
当您定义一个没有extends关键字的类时,您的类将默认扩展java中的对象类。
即使在新类中扩展了另一个类,父类或其父类也会传递地继承对象类。
简单的理解方法-定义一个有/没有父类的类后,为它创建一个对象。如果您使用的是ide,您可以看到有些方法建议没有在类(或父类)中实现。方法如
clone() equals() hashCode() wait() 等等。这些方法/行为从何而来是的,它来自最终的父对象
默认继承是隐式的,由java本身处理。希望这能让你更好的理解。

oknrviil

oknrviil2#

默认的超类是 Object (更准确地说 java.lang.Object ). 如果类没有显式定义直接超类(通过 extends )那么 Object 隐式地是该类的超类。
请看以下示例,该示例以图形方式显示了这一点:

public class A {}
public class B extends A {}
public class C {}


请注意,他的规则不适用于 Object 因为这会产生循环继承。换句话说,, java.lang.Object 是类层次结构的根。

juzqafwq

juzqafwq3#

对象类是您创建的每个类的基类。创建类的对象时,将调用对象类的构造函数。

xhv8bpkk

xhv8bpkk4#

java中的对象类是默认的超类。默认情况下,如果对象类没有从任何其他类显式继承,则该对象类将继承到新创建的类中。所以,在java编程中创建的每个类本质上都是对象的子类。

fwzugrvs

fwzugrvs5#

java中的所有类都可以扩展 Object 类,并且它们是对象类的子类,此约定的唯一例外是 Object 类本身,对象类在默认情况下不扩展任何类,这就是全部思想。

相关问题