Java静态变量和构造函数的执行顺序
案例:
package com.devin;
public class MyMain {
public static void main(String args[]) {
Father f = new Son();
}
}
class Father {
public Father() {
System.out.println("Father Construct");
}
static int a=printFahter();
static int printFahter() {
System.out.println("print in father");
return 1;
}
}
class Son extends Father {
public Son() {
System.out.println("Son Construct");
}
static int b=printSon();
static int printSon() {
System.out.println("print in son");
return 2;
}
}
输出结果:
print in father
print in son
Father Construct
Son Construct
结论,静态变量和构造函数的执行顺序:
1、父类的静态变量;
2、子类的静态变量;
3、父类的构造函数;
4、子类的构造函数;
--------------------------------------------------------------------
PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。
--------------------------------------------------------------------
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步