实例1:super()和this()的灵活运用
父类:
public class SuperClass {
private int superFieldA;
public int superFieldB;
public SuperClass(){
System.out.println("父类构造1");
}
public SuperClass(int a){
<span style="color:#ff0000;">this();
System.out.println("父类构造2");
}
public SuperClass(int a, int b){
<span style="color:#ff0000;">this(a);
System.out.println("父类构造3");
}
public void methodA(){
System.out.println("方法A在父类中的实现");
}
}
子类:public class SubClass extends SuperClass{
private int subFieldA;
public int subFieldB;
public SubClass(){
<span style="color:#ff0000;">super(1,2);//默认是为super()
System.out.println("子类构造1");
}
public SubClass(int a){
<span style="color:#ff0000;">this();
System.out.println("子类构造2");
}
public SubClass(int a, int b){
<span style="color:#ff0000;">this(a);
System.out.println("子类构造3");
}
@Override
public void methodA() {
// TODO Auto-generated method stub
System.out.println("方法A在子类当中的实现");
}
public void test(){
super.methodA();
}
}
测试类下:TestMain下代码操作
new SubClass(2,3);
运行结果为:
如下顺序打印:
父类构造1
父类构造2
父类构造3
子类构造1
子类构造2
子类构造3