Java为什么在实例化子类的对象时,会先调用父类的构造器

1、为什么在实例化子类的对象时,会先调用父类的构造器?

答:子类继承父类后,获取到父类的属性和方法,这些属性和方法在使用前必须先初始化,所以须先调用父类的构造器进行初始化

2、在哪里调用父类的构造器?

答:在子类构造器的第一行会隐式的调用 super();,即调用父类的构造器

        如果父类中没有定义空参的构造器,则必须在子类的构造器的第一行显示的调用super(参数); ,以调用父类中构造器

        如果子类中构造器的第一行写了this();,则就隐式的super();会消失,因为super()和this()都只能在构造器的第一行定义

猜你喜欢

转载自blog.csdn.net/yrwan95/article/details/81273603
今日推荐