super:
java中若子类构造函数要引用super构造函数,必须把super()放在子类构造函数的第一行。
为什么?
若没有放在第一行的话,那么在super之前的语句,是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法。那么以前所做的修改就都回到了以前,就是说又成了弗雷德构造方法了。
this:
this与super在使用前都不需要声明,this关键字是用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super关键字是直接指向超累的构造函数,用来引用超类中的变量和方法。
用法:当类中的方法里的参数与类的对象成员变量的名字相同,此时要将参数的值赋给成员变量,需要用this.成员变量名=参数名来表示。this还有一个用法,就是构造函数的第一个语句,它的形式是this(参数),这个构造函数就会调用同一个类的另一个相对的构造函数。