<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java – 不使用“`new`”關鍵字創建對象 > 原文: [https://howtodoinjava.com/puzzles/how-to-create-an-instance-of-any-class-without-using-new-keyword/](https://howtodoinjava.com/puzzles/how-to-create-an-instance-of-any-class-without-using-new-keyword/) 我們都知道如何創建任何類的對象。 在 Java 中創建對象的最簡單方法是使用**`new`**關鍵字。 讓我們探討一下 Java 中無需使用`new`新關鍵字即可創建對象的其他方法。 ```java Table of contents Using Class.forName() and Class.newInstance() ClassLoader loadClass() Using Object.clone() Deserialization Using reflection ``` > **注意**:在給定的示例中,我僅在編寫偽代碼。 要構建完整的,可以正常工作的示例代碼,請閱讀相關功能。 ## 使用`Class.newInstance()`創建對象 ```java Class ref = Class.forName("DemoClass"); DemoClass obj = (DemoClass) ref.newInstance(); ``` `Class.forName()`將類加載到內存中。 要創建此類的實例,我們需要使用`newInstance()`。 ## 使用類加載器的`loadClass()`創建對象 就像上述方法一樣,類加載器的`loadClass()`方法執行相同的操作。 它使用相同類的現有實例創建類的新實例。 ```java instance.getClass().getClassLoader().loadClass("NewClass").newInstance(); ``` ## 使用`Object.clone()`創建對象 這也是擁有新的類的獨立實例的方法。 ```java NewClass obj = new NewClass(); NewClass obj2 = (NewClass) obj.clone(); ``` ## 使用序列化和反序列化創建新對象 如果您已經閱讀了[本文](//howtodoinjava.com/java/serialization/how-to-do-deep-cloning-using-in-memory-serialization-in-java/ "How to do deep cloning using in memory serialization in?java"),則可以理解,序列化和反序列化也是在系統中擁有類的另一個實例的一種方式。 ```java ObjectInputStream objStream = new ObjectInputStream(inputStream); NewClass obj = (NewClass ) inStream.readObject(); ``` ## 使用反射創建新對象 反射也是在大多數可用框架中創建新實例的流行方法。 `builder.newInstance();`或`class.newInstance();` 如果您認為我沒有其他可能的方法,請告訴我。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看