感觉懂,有感觉没听懂,额
你应该是学习的是java中的继承知识。在java中,如果两个类之间有父子类关系,那么,创建子类对象之前,必须先创建父类对象,创建对象肯定会涉及到调用构造函数,如果父类里面有多个构造函数,那么在创建父类对象的时候该调用哪个构造函数呢?这时候,在子类的构造函数中,必须声明创建父类对象的时候调用的构造函数,怎么声明呢?就是通过子类构造函数中的super关键字来声明。如果子类中没有任何super关键字,编译器在编译的时候,默认会在子类的构造函数的第一行添加一个"super()",声明创建父类对象的时候,调用父类的无参构造。如果子类的构造中声明了super(),则默认的失效,创建父类对象的的时候调用显示声明的父类构造函数。over!!
用new语句创建一个类的对象的同时会调用该类的构造方法,创建子类的对象时会先调用父类的构造函数然后调用子类的构造函数,调用父类构造函数过程是默认调用的,如果你想显式的调用,就需要在子类的构造函数中用super()语句来调用,并且super语句必须在构造函数的第一条语句.这是super语句的语法,不需要问为什么。