java 执行顺序混乱_java类执行顺序问题
經常遇到的面試題,一個類繼承另一個類然后問輸出的結果是什么。個人覺得就是考類的輸出問題(親測)
第一:單一的類執行順序
package Test;
public class person {
static{
System.out.println("父類的靜態塊");
}
person(){
System.out.println("父類的構造方法");
}
{
System.out.println("父類的非靜態代碼塊");
}
public static void main(String[] args) {
System.out.println("父類的主函數main");
person p = new person();
}
}
打印:
父類的靜態塊
父類的主函數main
父類的非靜態代碼塊
父類的構造方法
輸出結果為:父類的靜態塊-->父類的主函數main-->父類的非靜態塊-->父類的構造函數
第二:子類繼承父類,創建子類對象,代碼執行的順序(親測)
package Test;
public class SonTest extends person {
static{
System.out.println("子類的靜態代碼塊");
}
{
System.out.println("子類的非靜態代碼塊");
}
SonTest(){
System.out.println("子類的構造函數");
}
public static void main(String[] args) {
System.out.println("子類的主函數main");
SonTest s = new SonTest();
}
}
打印:
父類的靜態塊
子類的靜態代碼塊
子類的主函數main
父類的非靜態代碼塊
父類的構造方法
子類的非靜態代碼塊
子類的構造函數
輸出結果為:父類的靜態代碼塊-->子類的靜態代碼塊-->子類的主函數main-->父類非靜態代碼塊-->父類的構造函數--子類的非靜態代碼塊-->子類的構造函數
總結
以上是生活随笔為你收集整理的java 执行顺序混乱_java类执行顺序问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php里的stdclass,PHP中的s
- 下一篇: Redis基础-下载安装配置