Java面试题之类的静态代码块和静态属性等的加载顺序
生活随笔
收集整理的這篇文章主要介紹了
Java面试题之类的静态代码块和静态属性等的加载顺序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如以下面試題:
/*** @author hjs
* @date 2019/3/62:41
* @Dec
*/
public class B {
public static B t1 = new B();
public static B t2 = new B();
{
System.out.println("父類構造塊");
}
static {
System.out.println("父類靜態塊");
}
}
/**
* @author hjs
* @date 2019/3/62:35
* @Dec
*/
public class A extends B {
public static A t1 = new A();
public static A t2 = new A();
{
System.out.println("構造塊");
}
static {
System.out.println("靜態塊");
}
public static void main(String[] args) {
A t = new A();
}
}
輸出結果:
父類構造塊、父類構造塊、父類靜態塊、父類構造塊、構造塊、父類構造塊、構造塊、靜態塊、父類構造塊、構造塊B1初始化的:父類構造塊;
B2初始化的:父類構造塊、父類靜態塊
A1初始化的:父類構造塊、構造塊
A2初始化的:父類構造塊、構造塊、靜態塊
main函數創建A時打印的:父類構造塊、構造塊
??
結論:父類靜態屬性、父類靜態代碼塊、子類靜態屬性、子類靜態代碼塊、代碼塊
轉載于:https://www.cnblogs.com/hujinshui/p/10486221.html
總結
以上是生活随笔為你收集整理的Java面试题之类的静态代码块和静态属性等的加载顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Swift]LeetCode649.
- 下一篇: Java学习笔记13(equals()方