示例 class User{ public User() { System.out.println("User's constructor..."); } } class Parent{ private User user = new User(); public Parent() { System.out.println("Parent's constructor..."); } } class Children extends Parent{ private User user = new User(); public Children() { System.out.println("Children's constructor..."); } } public class ExtendTest { public static void main(String[] args) { /** * User's constructor... * Parent's constructor... * User's constructor... * Children's constructor... */ new Children(); } } 总结 静态只在类加载的时候执行且只执行一次;非静态只有在实例化的时候执行,每次创建对象都执行;静态在非静态之前执行,基类静态优先于衍生类静态执行;静态属性和静态代码块的执行属性取决于它们在类中的位置,谁在前先执行谁;非静态属性和构造代码块的执行顺序取决于它们在类中的位置,谁在前执行谁;先初始化父类,在初始化子类。