java类创建顺序,Java基础----你真的了解java类创建顺序吗?
public class HelloParent {
helloY y = new helloY();
static {
System.out.println(“parent static block”);
}
HelloParent() {
System.out.println(“parent construct”);
}
}
class HelloChild extends HelloParent {
helloY y = new helloY ();
static {
System.out.println(“child static block”);
}
HelloChild() {
System.out.println(“child construct”);
}
public static void main(String[] args) {
new HelloChild();
}
}
class helloY {
helloY () {
System.out.println(“this is Y”);
}
}
如上圖所示,各位看官猜猜輸出順序是怎么樣的?這里只能做一個總結:
輸出順序:先父類的靜態代碼塊—>子類的靜態代碼塊—>父類的成員變量初始化—>
父類的構造方法—->子類的成員變量初始化—>子類的構造方法。經過機試也是沒有問題的。結果如下:
parent static block
child static block
this is Y
parent construct
this is Y
child construct
總結
以上是生活随笔為你收集整理的java类创建顺序,Java基础----你真的了解java类创建顺序吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: activiti7启动流程实例,动态设置
- 下一篇: java获取ip地址不重复,如何在and