您的位置:首页 > 其它

静态语句块,非静态语句块,构造方法在子类和父类的执行顺序

2015-09-18 12:44 351 查看
package test;

public class Main {
	
	public static void main(String args[]) {
			new subclass();
			new subclass("hello,world!");
	}

}
class base{
	static {
		System.out.println("父类的静态代码块");
	}
	{
		System.out.println("父类的非静态代码块");
	}
	public base(){
		System.out.println("父类的无参构造方法");
	}
	public base(String str){
		System.out.println("父类的有参构造方法:参数为:"+str);
	}
}
class subclass extends base{
	static {
		System.out.println("子类的静态代码块");
	}
	{
		System.out.println("子类的非静态代码块");
	}
	public subclass(){
		System.out.println("子类的无参构造方法");
	}

	public subclass(String str) {
		System.out.println("子类的有参构造方法:参数为:"+str);
	}
}


结果:就是顺序:

父类的静态代码块

子类的静态代码块

父类的非静态代码块

父类的无参构造方法

子类的非静态代码块

子类的无参构造方法

父类的非静态代码块

父类的无参构造方法

子类的非静态代码块

子类的有参构造方法:参数为:hello,world!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: