继承中的构造方法





package test;
	
class SuperClass{
	private int n;
	
	SuperClass(){//构造方法
		System.out.println("SuperClass()");
	}
	SuperClass(int n){//重载的构造方法
		System.out.println("SuperClass("+n+")");
		this.n = n;
	}
}

class SubClass extends SuperClass{
	private int n;
	
	SubClass(int n){
		//没写super,系统默认调用父类无参数的构造方法
		//相当于super();
		System.out.println("SubClass("+n+")");
		this.n = n;
	}
	SubClass(){
		//在子类的构造过程中必须调用其父类的构造方法
		super(300);//调用的是第二个构造方法
		System.out.println("SubClass()");
	}
}
public class Test{
	public static void main(String args[]){
		//SubClass sc1 = new SubClass();
		//如果子类的构造方法发中没有显示地调用父类构造方法,
		//则系统默认调用父类无参数的构造方法
		SubClass sc2 = new SubClass(400);//调用子类的第一个方法
	}
}

猜你喜欢

转载自ztao2333.iteye.com/blog/2286693
今日推荐