java 类中使用super来调用父类中的指定操作。
super 可以用于访问父类中定义的属性
super 可以用于调用父类中定义的成员方法
super 可以用于在子类构造方法中调用父类的构造器
注意:
尤其当子类出现同名成员时,可以用super进行区分。
super 的追朔不仅限于直接父类。
super 和this 的用法很像,this代表本类对象的引用,super 代表父类的内存空间的标识。
super:可以用来修饰属性、方法、构造器。
1)当子类与父类中有同名的属性时,可以通过“super.此属性”显示的调用父类中声明的属性。
若想调用子类的同名的属性“this.此属性”
2)当子类重写父类的方法以后,在子类中若想在显示的调用父类的被重写的方法,就需要使用“super.方法”
3)super修饰构造器,同过子类中使用“super(形参列表)”来显示的调用父类中指定的构造器。
>在构造器内部,“super(形参列表)”必须声明在首行!
>在构造器内部,“this(形参列表)"或”super(形参列表)“只能出现一个!
>当构造器中不显示的调用“this(形参列表)"或”super(形参列表)”中的任何一个,默认调用的是父类空参的构造器。如果没有空参会报错。
建议:设计一个类时尽量提供一个空参构造器
this 和super的区别:
描述该程序的实例化过程
所有类都继承了Object类,
言外之意就是说,该类可以调用Object 类中的所有方法。
因为加载了Object (父类)的构造器,所以可用它(父类)的方法。