`

继承中的构造方法

阅读更多




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);//调用子类的第一个方法
	}
}

  • 大小: 166.9 KB
  • 大小: 29.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics