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吗,请举例说明

 

posted on 2019-09-09 20:16  纯白溪笑  阅读(580)  评论(0编辑  收藏  举报