java中创建对象的三种方式,java在类中创建对象
一、使用new关键字
这是我们创建对象最常见和最简单的方式。这样我们也可以调用任意构造函数(无参数和无参数)。
例如:
User User=new User();二、使用反射机制
使用反射调用Java.lang.Class或java.lang.reflect.Constructor类的newInstance()实例方法。
相关视频教程分享:java教学视频
1、使用Class类的newInstance方法
您可以使用Class类的newInstance方法创建一个对象。这个newInstance方法调用无参数构造函数来创建一个对象。
//创建方法1
User User=(User)class . for name( root path . User )。new instance();
//创建方法2(最好用这个)
user user=user . class . new instance();2、使用Constructor类的newInstance方法
与类的newInstance方法非常相似,java.lang.reflect.Constructor类中也有一个可以创建对象的newInstance方法。我们可以通过这个newInstance方法调用参数化的和私有的构造函数。
ConstructorUser constructor=user . class . get constructor();
user user=constructor . new instance();这两个新实例方法就是我们所说的反射。实际上,类的newInstance方法在内部调用构造函数的newInstance方法。
三、使用clone方法
每当我们调用一个对象的clone方法时,jvm将创建一个新对象并复制前一个对象的所有内容。用clone方法创建对象不会调用任何构造函数。
要使用clone方法,我们需要实现Cloneable接口及其定义的clone方法。
例如:
公共类CloneTest实现Cloneable{
私有字符串名称;
私人年龄;
公共字符串getName() {
返回名称;
}
public void setName(字符串名){
this.name=name
}
public int getAge() {
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
公共克隆测试(字符串名称,整数年龄){
super();
this.name=name
this.age=年龄;
}
公共静态void main(String[] args) {
尝试{
clone test clone test=new clone test( wangql ,18);
CloneTest复制克隆=(clone test)clone test . clone();
system . out . println( new clone: clone test . getname());
system . out . println( copy clone: copy clone . getname());
} catch(CloneNotSupportedException e){
e . printstacktrace();
}
}执行:
新克隆:wangql
复制:wangql四、使用反序列化
当我们序列化和反序列化一个对象时,jvm会为我们创建一个单独的对象。反序列化时,jvm创建对象而不调用任何构造函数。
为了反序列化一个对象,我们需要让我们的类实现Serializable接口。
分享相关文章和教程:java快速入门。以上是java中创建对象的方法。有几个细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。