黑马程序员技术交流社区

标题: 【广州校区】Java对象创建的方式 [打印本页]

作者: 帅气de路人甲    时间: 2019-10-10 14:01
标题: 【广州校区】Java对象创建的方式
本帖最后由 帅气de路人甲 于 2019-10-10 14:02 编辑

使用Java对象创建的方式有以下4种:
    1、使用new创建对象
    2、使用反射的机制创建对象,其中包含:
        2.1 使用Class类的newInstance方法
        2.2 使用Constructor类的newInstance方法
    3、使用clone方法
    4、使用序列化机制,反序列化

1、使用new创建对象
  使用new关键字创建对象应该是最常见的一种方式,
    但是使用new创建对象会增加耦合度,所以无论使用什么框架,都要减少new的使用以降低耦合度
    语法:
        Hello hello = new Hello()

2、使用反射的机制创建对象
    2.1 使用Class类的newInstance方法
    语法:
       Class helloClass = Class.forName("cn.test.Hello");
       Hello hello =(Hello) helloClass.newInstance();

    2.2 使用Constructor类的newInstance方法
    语法:
       Class helloClass = Class.forName("cn.test.Hello");
       Constructor constructor = heroClass.getConstructor();
       Hello hello =(Hello) constructor.newInstance();

3.使用clone方法
  使用clone时,需要已经有一个分配了内存的源对象,创建新对象时,首先应该分配一个和源对象一样大的内存空间
  注意:
        要调用clone方法需要实现Cloneable接口
    语法:
        Hello h1 = new Hello();
        Hello h2 = (Hello)h1.clone();

4.使用序列化机制,反序列化
  使用序列化时,要实现实现Serializable接口,将一个对象序列化到磁盘上,而采用反序列化可以将磁盘上的对象信息转化到内存中。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2