Java中創建對象的5種方式


1、new :最常見的方法  

  Employee emp1 = new Employee();

2、使用newInstance()需要在有一個無參的構造方法,這個newInstance方法調用無參的構造函數創建對象。類名.calss.newInstance( )

    Employee emp2 = Employee.class.newInstance();

3、java.lang.reflect.Constructor類里也有一個newInstance方法可以創建對象。我們可以通過這個newInstance方法調用有參數的和私有的構造函數

   Constructor<Employee> constructor = Employee.class.getConstructor();

   Employee emp3 = constructor.newInstance();

   方法2、3就是反射機制

4、無論何時我們調用一個對象的clone方法,jvm就會創建一個新的對象,將前面對象的內容全部拷貝進去。用clone方法創建對象並不會調用任何構造函數。

   要使用clone方法,我們需要先實現Cloneable接口並實現其定義的clone方法。

  Employee emp4 = (Employee) emp3.clone();

5、使用反序列化:當我們序列化和反序列化一個對象,jvm會給我們創建一個單獨的對象。在反序列化時,jvm創建對象並不會調用任何構造函數。
   為了反序列化一個對象,我們需要讓我們的類實現Serializable接口

轉自:https://www.cnblogs.com/wxd0108/p/5685817.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM