Bootstrap

Java中子类继承父类关于构造方法的问题

子类继承了父类,若父类的构造方法没有重载那么,子类的构造方法也不需要通过super调用父类构造方法。一个类中如果构造方法重写了并且带了参数,那么这个类的原来系统默认的无参构造方法便消失。由此,若一个父类中只有一个带参数的构造方法,那么在写其子类的构造方法时必须先通过super调用父类的构造方法才能完成子类的构造方法而且super只能写在子类构造方法体内的第一行。

 

 

父类:


public class Gouzao {
	
	public Gouzao(int i) {		//重载构造方法并使其带有参数
		System.out.println(i);
	}
}

子类:


public class Gouzao2  extends Gouzao{
	public Gouzao2() {
		super(10);必须写在第一行!!!!!
	}
	
	public static void main(String[] args) {
		Gouzao2 G=new Gouzao2();
	}
}

Console输出效果:

如果父类有无参构造方法,那么在写子类的构造方法时可以不用super调用,其实就是调用父类的无参构造方法,总的来说就是子类的构造方法创建时要调用父类的构造方法。

;