java中构造方法、普通代码块、静态代码块、静态方法的执行顺序

静态方法、静态块、构造块

 

public class ParentClass {
	static{
		System.out.println("我是父类的static代码块");
	}
	{
		System.out.println("我是父类的普通代码块");
	}
	public ParentClass(){
		System.out.println("我是父类的构造方法");
	}
	public static void method(){
		System.out.println("被static修饰的静态方法");
	}
        public static void main(String[] args) {
		ParentClass parentClass = new ParentClass();
		parentClass.method();
	}
}
结果为:
    我是父类的static代码块
    我是父类的普通代码块
    我是父类的构造方法
    被static修饰的静态

 

 

public class ChildrenClass extends ParentClass {

	static{
		System.out.println("我是子类的static代码块");
	}
	{
		System.out.println("我是子类的普通代码块");
	}
	
	public ChildrenClass(){
		System.out.println("我是子类的构造方法");
	}
	public static void method(){
		System.out.println("子类被static修饰的静态方法");
	}
	@SuppressWarnings("static-access")
	public static void main(String[] args) {
		ParentClass parentClass = new ChildrenClass();
		parentClass.method();
	}
}
结果为:
     我是父类的static代码块
     我是子类的static代码块
     我是父类的普通代码块
     我是父类的构造方法
     我是子类的普通代码块
     我是子类的构造方法
     子类被static修饰的静态方法

 

猜你喜欢

转载自1069843121.iteye.com/blog/2403998