zoukankan      html  css  js  c++  java
  • java创建对象的几种方式

    前言,今日面试被问到创建对象是否一定要通过构造器,当时回答错误,查询分析后记录。

    创建对象的几种方式:

    第一种,也是最常用、一直接触到的方法:通过new 创建对象。这种方法需要用到构造器

        Demo demo1=new Demo();
        Demo demo2=new Demo(1,"有参构造器");

     

    第二种,比较常用的的方法:通过反射 newInstance()创建对象。这种方法用到构造器

      Demo demo2=(Demo) Class.forName("Demo").newInstance();

    第三种,通过object类的clone方法。需要实现Cloneable接口,重写object类的clone方法。无论何时我们调用一个对象的clone方法,jvm就会创建一个新的对象,将前面对象的内容全部拷贝进去。用clone方法创建对象并不会调用任何构造函数。(原型模式,还没了解)

      Demo demo4=(Demo) demo2.clone();

    第四种,反序列化。java 中常常进行 JSON 数据跟 Java 对象之间的转换,即序列化和反序列化。
    当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象,在反序列化时,JVM创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口,虽然该接口没有任何方法。不会调用任何构造函数

  • 相关阅读:
    Python学习资料
    异常
    I/O
    Python3+迭代器与生成器
    python标准数据类型
    人工智能、机器学习和深度学习
    原地排序和复制排序
    序列化和Json
    登陆加密小程序
    hashlib模块加密用法
  • 原文地址:https://www.cnblogs.com/nzxj/p/10465053.html
Copyright © 2011-2022 走看看