java代码块执行顺序_Java笔记 | Java代码块执行顺序测试
最近筆試常常遇到考察Java代碼塊執(zhí)行順序的題目,網(wǎng)上查看博客錯(cuò)漏百出,特地自己測(cè)試了一下。
如有錯(cuò)漏,希望路過(guò)的大佬指出來(lái),以便我進(jìn)行更改。
先上代碼吧!
public class ClassA {
private static String a = print("A");
static {
System.out.println(a+":A——靜態(tài)塊");
}
{
System.out.println("A——構(gòu)造塊");
}
public ClassA() {
System.out.println("A——默認(rèn)構(gòu)造方法");
}
public ClassA(String name) {
System.out.println("A——帶參構(gòu)造方法");
}
public static String print(String className) {
System.out.println(className+"——靜態(tài)屬性");
return className;
}
}
public class ClassB extends ClassA{
private static String b = print("B");
static {
System.out.println(b+":B——靜態(tài)塊");
}
{
System.out.println("B——構(gòu)造塊");
}
public ClassB() {
System.out.println("B——默認(rèn)構(gòu)造方法");
}
public ClassB(String name) {
System.out.println("B——帶參構(gòu)造方法");
}
}
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();
}
}
接下來(lái)是測(cè)試結(jié)果
總結(jié)
結(jié)合我查詢(xún)的資料以及測(cè)試結(jié)果,可以得知執(zhí)行順序如下:
main 函數(shù)作為入口,按行依次執(zhí)行;
靜態(tài)屬性 > 靜態(tài)方法聲明 > 靜態(tài)塊;
動(dòng)態(tài)屬性 > 動(dòng)態(tài)方法聲明 > 構(gòu)造塊;
構(gòu)造方法。
補(bǔ)充說(shuō)明:
創(chuàng)建一個(gè)對(duì)象時(shí),無(wú)論是否帶參數(shù),都會(huì)先調(diào)用它的父類(lèi)(如果存在父類(lèi))的默認(rèn)構(gòu)造方法。
總結(jié)
以上是生活随笔為你收集整理的java代码块执行顺序_Java笔记 | Java代码块执行顺序测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 类的重载_Java自学-类和对
- 下一篇: 记事本快捷键设置 java_Java给J