创建对象的五种方式
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.使用反序列化
*/
}