Java 类的构造器静态代码块静态方法执行顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 类的构造器静态代码块静态方法执行顺序相关的知识,希望对你有一定的参考价值。

public class Husband extends Persona{
/**第二执行
public Husband() {
super("One");
System.out.println("Two");
}
}

public class Wife extends Persona {
/**第三执行
public Wife(){
super("Four");
}
/**第四执行
public Wife(String name) {
super(name);
System.out.println("Three");
}
}

public class Persona {
private String name;
private String sex;
private Integer age;

public Persona(String name){
System.out.println("我的名字是:"+ name);
}
/**省略Seter/getter


public class Test {
/**
* 静态块只执行一次/最先执行的
*/
static {
System.out.println("Here We Go");
}
/**第五执行
public Test(){
System.out.println("This just a test");
}
public static void main(String[] args) {
Husband husband=new Husband();
Wife wife=new Wife();
wife=new Wife("Five");
Test test=new Test();
test.say();

}
/**最后执行
public static void say(){
System.out.println("Say Something");
}
}



输出结果:  

Here We Go

我的名字是:One

Two

我的名字是:Four

我的名字是:Five

Three

This just a test

Say Something


  


























































以上是关于Java 类的构造器静态代码块静态方法执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java类的各种成员初始化顺序如:父子类继承时的静态代码块,普通代码块,静态方法,构造方法,等先后顺

java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有啥作用呢

Java类的静态成员静态代码块普通成员普通代码块构造方法初始化执行的顺序

Java子父类间静态代码块非静态代码块构造方法的执行顺序

java代码执行顺序

Java类的执行顺序final的用法