中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java類變量和成員變量初始化的過程

發布時間:2021-09-18 16:05:42 來源:億速云 閱讀:182 作者:chen 欄目:編程語言

這篇文章主要講解了“Java類變量和成員變量初始化的過程”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java類變量和成員變量初始化的過程”吧!

一、類的初始化

對于類的初始化:類的初始化一般只初始化一次,類的初始化主要是初始化靜態成員變量。

類的編譯決定了類的初始化過程。

編譯器生成的class文件主要對定義在源文件中的類進行了如下的更改:

1) 先按照靜態成員變量的定義順序在類內部聲明成員變量。

2) 再按照原java類中對成員變量的初始化順序進行初始化。

一個java類和編譯后的class對應的轉換如下:

源文件:

public class Person{  public static String name="張三";  public static int age;  static{         age=20;  System.out.println("初始化age");  }  public static String address;  static{  address="北京市";  age=34;  }  public static void main(String[] args) {                     System.out.println(name);                     System.out.println(age);                     System.out.println(address);           }  }

當java源代碼轉換成一個class文件后,其轉換成類似下面的代碼:

public class Person{  public static String name;  public static int age;  public static String address;  static{  name="張三";  age=20;  System.out.println("初始化age");  address="北京市";  age=34;  }  public static void main(String[] args) {                     System.out.println(name);                     System.out.println(age);                     System.out.println(address);           }  }

初始化順序依據轉換后對應的class類成員變量的初始化順序依次執行,所以所有的靜態成員變量都是先聲明,后執行賦值的,而且賦值的順序也是依照源代碼對靜態成員變量初始化的順序進行的,注意:定義一個成員變量并直接初始化與在靜態代碼塊中進行初始化是等價的,都是依據它們在源代碼中定義的順序進行的。

二、對象的生成

對于對象的生成其初始化過程與類的初始化過程類似,但會增加構造函數階段,源代碼如下:

public class Person{   {   name="李四";   age=56;   System.out.println("初始化age");   address="上海";   }   public String name="張三";   public int age=29;   public String address="北京市";   public Person(){   name="趙六";   age=23;   address="上海市";   }   }

編譯器轉換成class文件后,會轉換成類似下面的代碼:

public class Person{   public String name;   public int age;   public String address;   public Person(){   name="李四";   age=56;   System.out.println("初始化age");   address="上海";   name="張三";   age=29;   address="北京市";   name="趙六";   age=23;   address="上海市";   }   }

感謝各位的閱讀,以上就是“Java類變量和成員變量初始化的過程”的內容了,經過本文的學習后,相信大家對Java類變量和成員變量初始化的過程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上饶县| 南木林县| 马龙县| 合江县| 兴化市| 绥阳县| 吉木萨尔县| 洞口县| 东至县| 通化县| 囊谦县| 渝中区| 理塘县| 平邑县| 合水县| 金门县| 北辰区| 嘉禾县| 饶阳县| 茶陵县| 疏附县| 曲沃县| 南昌县| 桂平市| 乡城县| 阿克陶县| 方山县| 萍乡市| 五莲县| 灵宝市| 成都市| 长阳| 平定县| 灵寿县| 平陆县| 西乌珠穆沁旗| 墨竹工卡县| 深水埗区| 泽库县| 河源市| 寿光市|