https://blog.csdn.net/lisainan66/article/details/123697451
为什么子类会自动调用父类的无参构造函数呢?再回答这个问题之前先来说一下两个常见的概念.
继承和构造函数是面向对象编程中两个重要的概念,它们在 Java 中起着至关重要的作用。
继承是面向对象编程中的一个核心概念,它允许一个类(称为子类)继承另一个类(称为父类)的属性和方法。通过继承,子类可以复用父类的代码,并且可以在此基础上扩展和定制功能,从而实现代码的重用和层次化组织。在 Java 中,使用关键字 extends
来声明类之间的继承关系。
继承的特点包括:
构造函数是一种特殊类型的方法,它用于创建对象并对对象进行初始化。在 Java 中,构造函数的名称必须与类名完全相同,不返回任何值,且不能被显式调用,而是在创建对象时自动调用。构造函数的作用是初始化对象的状态,为对象的属性赋初值。
构造函数的特点包括:
在 Java 中,当创建子类的实例时,子类的构造函数会隐式地调用父类的构造函数,以确保父类的状态得到正确的初始化。如果子类的构造函数没有显式调用父类的构造函数,编译器会自动插入对父类的无参构造函数的调用。这是为了确保父类在子类实例化时能够得到正确的初始化,也符合面向对象编程中继承的特性,确保子类能够正常地继承父类的属性和方法。