黑马程序员技术交流社区
标题:
【广州校区】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