super与this对比
this
this不能使用在静态方法中,能出现在实例方法和构造方法中;
this的语法是:"this. " “this()”
"this. "在区分局部变量和实例变量的时候不能省略
this()只能出现在构造方法第一行,通过当前的构造方法去调用本类中其它的构造方法,目的:代码复用
super
super不能使用在静态方法中,能出现在实例方法和构造方法中;
super的语法是:"super. " “super()”
super. 在区分局部变量和实例变量的时候不能省略
super()只能出现在构造方法第一行,通过当前的构造方法去调用父类中的构造方法,目的:创建子类对象前,初始化父类特征
当一个构造方法第一行既没有this()也没有super()时,默认会有一个super(),表示通过当前子类的构造方法调用父类的无参数构造方法,因此必须保证父类的无参构造方法是存在的。
this()和super()不能共存
super:当前对象的父类型特征,不是引用,也不保存内存地址,也不指向任何对象