java中的4种创建对象的方式:
在这片博文中和大家简单分享一下常见的几种创建java对象的方式
1.使用 new 的方式,这也是我们最常见的一种方式 我们以 Person 类来举例说明 例:
Person p = new Person();
2.使用反射来创建对象 我们可以调用 class类 或者 Constructor类的newInstance() 方法 例:
Person p1 = Person.class.newInstance();
或者:
Person p2 = (Person)Class.forName("package.Person").newInstance();
这里的package.Person是指Person类的路径
使用Constructor类的newInstance() 方法:
Constructor<Person> con = Person.class.getConstructor();
Person p3 = con.newInstance();
3.使用克隆的方式 调用对象的 clone() 方法 例:
Person p4 = (包名.Person) p.clone();
4.使用反序列化的方式 我们需要让我们的类实现Serializable接口 例:
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Person p5 = (Person ) in.readObject()
以上几种创建对象的方式 第一种方法转变为两个调用,new和invokespecial(构造函数调用), 其他都是转变为invokevirtual(创建对象的直接方法) 。