super详解
个人总结:
1.new一个子类时,会先调用父类的构造器,这里student(子类)的构造器中,会默认有隐藏super()来调用父类的构造器,所以先打印Person无参执行,后打印Student无参执行。
2.子类构造器如果要显式写super(),必须写在构造器的第一行,否则报错。
老师总结:
super注意点:
1.super调用父类的构造方法,必须在构造方法的第一行
2.super只能出现在子类的方法或者构造方法中(非子类调用就会调到object,肯定不行)
3.super和this不能同时调用,因为都需要在第一行出现,那么肯定只能使用一个。如下图:
VS this:
代表的对象不同:
this:本身调用这个对象
super:代表父类对象的应用
前提:
this:没有继承也可以使用
super:只能在继承条件下才可以使用
构造方法:
this():本身的构造方法
super():父类的构造方法