java的一个问题,基础强人进

来源:百度知道 编辑:UC知道 时间:2024/04/19 05:17:44
对于父类和子类的问题上,我编写了小程序检验
发现子类的构造函数在运行的时候也运行了父类的构造函数
不明白这点

在默认的构造函数中有一句默认的super语句去调用父类的构造函数,在创建对象时会先去检查该类是否有子类,有的话先去创建其父类对象在去构建子类对象,如果没有继承的父类,会去调用object类,这个是所有类的父类,所以创建对象时最先去创建的对象是object对象,对于为什么会创建子类对象时一定会先创建其父类对象的问题,可以打个比方,父类是汽车,子类是桑塔纳的话,那么在有桑塔纳车之前肯定先是有了汽车这个父类,然后才有桑塔纳这种车,桑塔纳继承了汽车的一般特性,如果没有这个父类对象,桑塔纳就不能得到汽车的一般特性,就不能称其为汽车了。

子类不继承父类的构造方法,但是在调用子类构造方法时先调用父类构造方法