Java 中经常使用这两个关键字,特别是是在一些继承关系类中。
:this 指代 ‘当前对象’
:super 指代 ‘当前对象的父类’
super与this的基本使用,代码实例:
父类:
package com.model;
public class AModel {
private String a;
public AModel() {
System.out.println(" AModel ----- ");
}
public AModel(String a) {
this.a = a;
}
public void doWayA() {
}
}
子类:
package com.model;
public class BModel extends AModel {
private String b;
public BModel() {
//super();
System.out.println(" BModel----- ");
}
public BModel(String b) {
//super();
//super.doWayA();
//this.doWayB();
}
public void doWayB() {
}
}
备注:
继承常用特性:子类继承父类,除非重写的子类的方法,否则子类可以通过super调用到父类以及父类本身的父类(如果有的话)的所有公开方法以及属性。
关于继承类的执行顺序,test类 代码如下:
package com.test;
import com.model.AModel;
import com.model.BModel;
public class TestDemo {
public static void main(String[] args) {
AModel aModel = new AModel();
System.out.println("---------------");
BModel bModel = new BModel();
System.out.println("--------------");
AModel aModel2 = new BModel();
}
}
运行结果:
AModel —–
—————
AModel —–
BModel ———
————–
AModel —–
BModel ———
备注:
继承类的构造方法执行顺序一般先构造父类对象,然后才构造子类对象。