欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Java中類的加載順序

 更新時間:2017年01月11日 14:09:23   作者:刺客XIII  
Java中什么時候類加載,第一次需要使用類信息時加載。類加載的原則:延遲加載,能不加載就不加載。下面這篇文章主要介紹了Java中類的加載順序,需要的朋友可以參考借鑒,下面來一起看看吧。

本文介紹的是Java中類的加載順序,下面來看看詳細的介紹:

1、虛擬機在首次加載Java類時,會對靜態(tài)初始化塊、靜態(tài)成員變量、靜態(tài)方法進行一次初始化

 2、只有在調用new方法時才會創(chuàng)建類的實例

 3、類實例創(chuàng)建過程:按照父子繼承關系進行初始化,首先執(zhí)行父類的初始化塊部分,然后是父類的構造方法;再執(zhí)行本類繼承的子類的初始化塊,最后是子類的構造方法

 4、類實例銷毀時候,首先銷毀子類部分,再銷毀父類部分

示例

public class Parent
{
 public static int t = parentStaticMethod2();
 {
 System.out.println("父類非靜態(tài)初始化塊");
 }
 static
 {
 System.out.println("父類靜態(tài)初始化塊");
 }
 public Parent()
 {
 System.out.println("父類的構造方法");
 }
 public static int parentStaticMethod()
 {
 System.out.println("父類類的靜態(tài)方法");
 return 10;
 }
 public static int parentStaticMethod2()
 {
 System.out.println("父類的靜態(tài)方法2");
 return 9;
 }
 
 @Override
 protected void finalize() throws Throwable
 {
 // TODO Auto-generated method stub
 super.finalize();
 System.out.println("銷毀父類");
 }
 
}
public class Child extends Parent
{
 {
 System.out.println("子類非靜態(tài)初始化塊");
 }
 static
 {
 System.out.println("子類靜態(tài)初始化塊");
 }
 public Child()
 {
 System.out.println("子類的構造方法");
 }
 public static int childStaticMethod()
 {
 System.out.println("子類的靜態(tài)方法");
 return 1000;
 }
 @Override
 protected void finalize() throws Throwable
 {
 // TODO Auto-generated method stub
 super.finalize();
 System.out.println("銷毀子類");
 }
}
public class Test
{
 
 public static void main(String[] args)
 {
 // TODO Auto-generated method stub
 Parent.parentStaticMethod();
// Child child = new Child();
 
 }

}

輸出

父類的靜態(tài)方法2
父類靜態(tài)初始化塊
父類類的靜態(tài)方法

類中static 方法在第一次調用時加載,類中static成員按在類中出現的順序加載。當調用靜態(tài)方法2時輸出

父類的靜態(tài)方法2
父類靜態(tài)初始化塊
父類的靜態(tài)方法2

注釋掉Parent.parentStaticMethod();

去掉注釋Child child = new Child();

父類的靜態(tài)方法2
父類靜態(tài)初始化塊
子類靜態(tài)初始化塊
父類非靜態(tài)初始化塊
父類的構造方法
子類非靜態(tài)初始化塊
子類的構造方法

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關文章

  • IDEA插件之快速刪除Java代碼中的注釋

    IDEA插件之快速刪除Java代碼中的注釋

    這篇文章主要介紹了IDEA插件之快速刪除Java代碼中的注釋,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Java線程的6種狀態(tài)及切換教程

    Java線程的6種狀態(tài)及切換教程

    這篇文章主要給大家介紹了關于Java線程的6種狀態(tài)及切換教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • SpringBoot?Security權限控制自定義failureHandler實例

    SpringBoot?Security權限控制自定義failureHandler實例

    這篇文章主要為大家介紹了SpringBoot?Security權限控制自定義failureHandler實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Java 在PPT中添加文本和圖片超鏈接的實現方法

    Java 在PPT中添加文本和圖片超鏈接的實現方法

    這篇文章主要介紹了Java 在PPT中添加文本和圖片超鏈接的實現方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 使用java?實現mqtt兩種常用方式

    使用java?實現mqtt兩種常用方式

    在開發(fā)MQTT時有兩種方式一種是使用Paho Java 原生庫來完成,一種是使用spring boot 來完成,這篇文章主要介紹了使用java?實現mqtt兩種方式,需要的朋友可以參考下
    2022-11-11
  • 了解java架構之微服務架構—雪崩效應

    了解java架構之微服務架構—雪崩效應

    這篇文章主要介紹了了解java架構之微服務架構—雪崩效應,微服務化產品線,每一個服務專心于自己的業(yè)務邏輯,并對外提供相應的接口,看上去似乎很明了,其實還有很多的東西需要考慮,,需要的朋友可以參考下
    2019-06-06
  • Java中finalize()詳解及用法

    Java中finalize()詳解及用法

    這篇文章主要介紹了Java中finalize()詳解及用法的相關資料,final是Java的關鍵字,它所表示的是“這部分是無法修改的”,需要的朋友可以參考下
    2017-03-03
  • Java使用DFA算法實現過濾多家公司自定義敏感字功能詳解

    Java使用DFA算法實現過濾多家公司自定義敏感字功能詳解

    這篇文章主要介紹了Java使用DFA算法實現過濾多家公司自定義敏感字功能,結合實例形式分析了DFA算法的實現原理及過濾敏感字的相關操作技巧,需要的朋友可以參考下
    2017-08-08
  • SpringBoot bean加載順序怎樣查看(源碼解讀)

    SpringBoot bean加載順序怎樣查看(源碼解讀)

    這篇文章主要介紹了SpringBoot bean加載順序怎樣查看(源碼解讀)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java生成非對稱型加密公鑰和私鑰的方法

    Java生成非對稱型加密公鑰和私鑰的方法

    這篇文章主要介紹了Java生成非對稱型加密公鑰和私鑰的方法,涉及java非對稱加密的原理與實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論