创建对象的五种方式

创建对象的五种方式

public static void main(String[] args) throws Exception{

    /**
     * 1.new 对象()
     */
    User user = new User();

    /**
     * 2..newInstance()
     *  需要保证该类有无参构造器
     *      若里面没有任何构造器,编译器会默认加一个无参构造器,正确
     *      若只有有参构造器则,则不添加,报错
     */
    Class<?> aClass = Class.forName("com.example.demo.User");
    User o = (User) aClass.newInstance();

    /**
     * 3.反射获取构造器调用.newInstance()
     */
    Class clazz = User.class;
    Constructor constructor = clazz.getConstructor();
    User o1 = (User) constructor.newInstance();

    /**
     * 4.克隆
     *  需要先实现Cloneable接口并重写的clone方法
     */
    user.setAge(1);
    user.setName("1");
    User clone = (User) user.clone();

    /**
     * 5.使用反序列化
     */
}

 

上一篇:nginx 实现jira反向代理


下一篇:再见了,我的散装研发管理平台;再见了,4台ECS!