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中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有啥作用呢