继承而来的对象如何被创建?

写于2017-08-26 16:42:54 由原有博客迁移过来

最近在看《java编程思想》,其中的一些细节解开了自己的一些疑惑,

在java中一个类如果继承其他类,并且父类的构造函数时重载的,子类的构造函数该怎么写?

实际上无论如何,子类对象被创建都要调用父类的构造函数,在《java编程思想中说》,父类对象必须被创建,并被包含在子类对象内部

所以在子类构造函数第一行一定会有super();至于super中的参数,由子类自己来定,想调用父类哪个构造函数就写什么类型的参数

当然如果不写super();默认调用父类无参构造函数,所以子类的构造函数时怎样的与父类无关系,但是它必须调用父类的一个构造函数来创建父类的一个对象。

补充:因为所有类都直接或者间接的继承Object,所以在创建任何一个对象时都会先调用Object的构造函数,如果一个对象的有父亲类,爷爷类,祖父类。。。。等等,那么都会从Object开始依次调用各个父类的构造函数才能创建对象。

猜你喜欢

转载自blog.csdn.net/qq_37667364/article/details/79326252