有残构造的调用

super关键字:
1.程序希望在子类方法,可以强制访问父类被覆盖的成员方法,访问父类得曾媛变量。
2.可以使用super.来进行,强制指定使用父类的成员变量、调用父类的成员方法。
3.super和this:

  • supper总是跟父类相关。supper.表明限定父类,supper()调用父类的构造器
  • this总是跟当前类相关。this.表明引用当前类对象,this()调用当前类的构造器

4.父类的构造器不能被继承,只能被调用,子类构造器调用前会先执行父类构造器,如果子类没有显示调用父类构造器,那么系统第一行会自动调用父类默认的无参构造器。
5.当只能调用父类的构造器时候,到底调用哪个构造器时,完全取决于传入的参数值6.supper()的调用必须位于【构造器的第一行】
6.在构造器中,this()和supper是互斥的。具体如下:

			父类
package extendstwo;
public class Animall {			//父类
//	public Animall(){
//		System.out.println("我是父類的構造");
//	}
	public Animall(String blood){		//構造器
		this.blood = blood;           //从有参构造上的值赋给字段
//		System.out.println("我是父類的構造");
	}
	String blood;    //字段(变量)
}
                         子类
package extendstwo;

public class dogl extends Animall {     		//子类
//	public dogl(){
		
//	}
	
	public dogl(String blood){				//有参构造
//		super.blood = blood;				//直接获取父类字段
//		super();							//获取父类无参构造
		super(blood);               //获取父类有参构造
	}
}

                    测试类
package extendstwo;

public class test {

	public static void main(String[] args) {
		dogl dogs = new dogl("red");		//创建对象
		System.out.println(dogs.blood);      //输出调用的有参构造
	}

}

具体走向图:
有残构造的调用