java代码块执行顺序_Java笔记 | Java代码块执行顺序测试
最近筆試常常遇到考察Java代碼塊執行順序的題目,網上查看博客錯漏百出,特地自己測試了一下。
如有錯漏,希望路過的大佬指出來,以便我進行更改。
先上代碼吧!
public class ClassA {
private static String a = print("A");
static {
System.out.println(a+":A——靜態塊");
}
{
System.out.println("A——構造塊");
}
public ClassA() {
System.out.println("A——默認構造方法");
}
public ClassA(String name) {
System.out.println("A——帶參構造方法");
}
public static String print(String className) {
System.out.println(className+"——靜態屬性");
return className;
}
}
public class ClassB extends ClassA{
private static String b = print("B");
static {
System.out.println(b+":B——靜態塊");
}
{
System.out.println("B——構造塊");
}
public ClassB() {
System.out.println("B——默認構造方法");
}
public ClassB(String name) {
System.out.println("B——帶參構造方法");
}
}
public class ClassTest {
public static void main(String[] args) {
System.out.println("start");
ClassB laughter = new ClassB("laughter");
System.out.println("------------------");
ClassB Somnus = new ClassB();
}
}
接下來是測試結果
總結
結合我查詢的資料以及測試結果,可以得知執行順序如下:
main 函數作為入口,按行依次執行;
靜態屬性 > 靜態方法聲明 > 靜態塊;
動態屬性 > 動態方法聲明 > 構造塊;
構造方法。
補充說明:
創建一個對象時,無論是否帶參數,都會先調用它的父類(如果存在父類)的默認構造方法。
總結
以上是生活随笔為你收集整理的java代码块执行顺序_Java笔记 | Java代码块执行顺序测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 类的重载_Java自学-类和对
- 下一篇: 记事本快捷键设置 java_Java给J