<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > 類對象概念: 所有的類,都存在一個類對象,這個類對象用于提供類本身的信息,比如有幾種構造方法, 有多少屬性,有哪些普通方法。 # 什么是類對象 在理解類對象之前,先說我們熟悉的對象之間的區別: garen和teemo都是**Hero對象**,他們的區別在于,各自有不同的**名稱,血量,傷害值**。 然后說說類之間的區別 Hero和Item都是類,他們的區別在于有**不同的方法**,**不同的屬性**。 **類對象**,就是用于描述這種類,都有什么屬性,什么方法的 # 獲取類對象 獲取類對象有3種方式 1. Class.forName 2. Hero.class 3. new Hero().getClass() 在一個JVM中,一種類,只會有一個類對象存在。所以以上三種方式取出來的類對象,都是一樣的。 > 注: 準確的講是一個ClassLoader下,一種類,只會有一個類對象存在。通常一個JVM下,只會有一個ClassLoader。因為還沒有引入ClassLoader概念, 所以暫時不展開了。 ``` package com.dodoke.reflection; import charactor.Hero; public class TestReflection { public static void main(String[] args) { String className = "charactor.Hero"; try { Class pClass1 = Class.forName(className); Class pClass2 = Hero.class; Class pClass3 = new Hero().getClass(); System.out.println(pClass1 == pClass2); System.out.println(pClass1 == pClass3); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } ``` # 獲取類對象的時候,會導致類屬性被初始化 為Hero增加一個靜態屬性,并且在靜態初始化塊里進行初始化。 ``` static String copyright; static { System.out.println("初始化 copyright"); copyright = "版權由Riot Games公司所有"; } ``` 無論什么途徑獲取類對象,都會導致靜態屬性被初始化,而且只會執行一次。(除了直接使用 `Class c = Hero.class` 這種方式,這種方式不會導致靜態屬性被初始化) Hero.java ``` package charactor; import java.io.Serializable; public class Hero implements Serializable { public String name; public float hp; public int damage; public int id; static String copyright; static { System.out.println("初始化 copyright"); copyright = "版權由Riot Games公司所有"; } } ``` # TestReflection.java ``` package charactor; import java.io.Serializable; public class Hero implements Serializable { public String name; public float hp; public int damage; public int id; static String copyright; static { System.out.println("初始化 copyright"); copyright = "版權由Riot Games公司所有"; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看