java 创建对象的多种方法
1.new 关键字创建对象 new创建对象会增加耦合度。无论使用什么框架,都要减少new的使用以降低耦合度。 2.反射机制创建对象 (1)Class类的newInstance方法: Class c = Class.forName("com.briup.text"); Hello h = (Hello)c.newInstance(); (2)Constructor类的newInstance方法 Class c = Class.forName("com.briup.text"); Constructor constructor = c.getConstruction(); Hello h =(Hello) constructor.newInstance(); 3.clone(); Hello h1 = new Hello(); Hello h2 = (Hello)h1.clone(); 4.序列化机制(使用序列化时,要实现实现Serializable接口,将一个对象序列化到磁盘上,而采用反序列化可以将磁盘上的对象信息转化到内存中) Hello h = new Hello(); File f = new File("hello.obj"); FileOutputStream fos = new FileOutputStream(f); ObjectOutputStream oos = new ObjectOutputStream(fos); FileInputStream fis = new FileInputStream(f); ObjectInputStream ois = new ObjectInputStream(fis) //序列化对象,写入到磁盘中 oos.writeObject(h); //反序列化对象 Hello newHello = (Hello)ois.readObject(); 注意事项:除了new创建对象,其他都需要类型的强制转换 经典面试题:创建对象一定要new吗,请举例说明