「java创建对象的几种方式」java创建对象的五种方式
本篇文章给大家谈谈java创建对象的几种方式,以及java创建对象的五种方式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java如何创建对象
JAVA创建对象的四种方式:
有4种显式地创建对象的方式:
1.用new语句创建对象,这是最常用的创建对象的方式。最常用 比如
Scanner scanner = new Scanner(System.in)
2.运用反射手段,Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3.调用对象的clone()方法。
4.运用反序列化手段
在java中创建对象到底有多少种方法?
Java中创建对象的四种方式
1.用new语句创建对象,这是最常见的创建对象的方法。
2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3.调用对象的clone()方法。
4.运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
下面演示了用前面3种方式创建对象的过程:
public class Customer implements Cloneable{
private String name;
private int age;
public Customer(){
this("unknown",0);
System.out.println("call default constructor");
}
public Customer(String name,int age){
this.name=name;
this.age=age;
System.out.println("call second constructor");
}
public Object clone()throws CloneNotSupportedException{
return super.clone();
}
public boolean equals(Object o){
if(this==o)return true;
if(! (o instanceof Customer)) return false;
final Customer other=(Customer)o;
if(this.name.equals(other.name) this.age==other.age)
return true;
else
return false;
}
public String toString(){
return "name="+name+",age="+age;
}
public static void main(String args[])throws Exception{
//运用反射手段创建Customer对象
Class objClass=Class.forName("Customer");
Customer c1=(Customer)objClass.newInstance(); //会调用Customer类的默认构造方法
System.out.println("c1: "+c1); //打印name=unknown,age=0
//用new语句创建Customer对象
Customer c2=new Customer("Tom",20);
System.out.println("c2: "+c2); //打印name=tom,age=20
//运用克隆手段创建Customer对象
Customer c3=(Customer)c2.clone(); //不会调用Customer类的构造方法
System.out.println("c2==c3 : "+(c2==c3)); //打印false
System.out.println("c2.equals(c3) : "+c2.equals(c3)); //打印true
System.out.println("c3: "+c3); //打印name=tom,age=20
}
}
除了以上4种显式地创建对象的方式以外,在程序中还可以隐含地创建对象,包括以下几种情况:
1.对于java命令中的每个命令行参数,Java虚拟机都会创建相应的String对象,并把它们组织到一个String数组中,再把该数组作为参数传给程序入口main(String args[])方法。
2.程序代码中的String类型的直接数对应一个String对象。
3.字符串操作符“+”的运算结果为一个新的String对象。
4.当Java虚拟机加载一个类时,会隐含地创建描述这个类的Class实例.
Java创建对象的几种方式
1.使用 new 的方式,这也是我们最常见的一种方式 我们以 Person 类来举例说明 例:
Person p = new Person();
2.使用反射来创建对象 我们可以调用 class类 或者 Constructor类的newInstance() 方法 例:
Person p1 = Person.class.newInstance();
3.使用克隆的方式 调用对象的 clone() 方法 例:
Person p4 = (包名.Person) p.clone();
4.使用反序列化的方式 我们需要让我们的类实现Serializable接口 例:
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Person p5 = (Person ) in.readObject()
JAVA创建对象有哪几种方式?
Java中创建对象的四种方法 收藏Java中创建对象的四种方式\x0d\x0a1.用new语句创建对象,这是最常见的创建对象的方法。\x0d\x0a2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。\x0d\x0a3.调用对象的clone()方法。\x0d\x0a4.运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。\x0d\x0a第一种最常见
java中用new定义对象有几种写法?
java中用new定义对象有3种写法。
1.使用new关键字
通过这种方式,我们可以调用任意的构造函数(无参的和带参数的)。
span style="color: #ff0000;"Employee emp1 = new Employee();/span
0: new #19 // class org/programming/mitra/exercises/Employee: dup
: invokespecial #21 // Method org/programming/mitra/exercises/Employee."":()V
2.使用Class类的newInstance方法
我们也可以使用Class类的newInstance方法创建对象。这个newInstance方法调用无参的构造函数创建对象。
我们可以通过下面方式调用newInstance方法创建对象:
span style="color: #ff0000;"Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();/span
3.使用反序列化
当我们序列化和反序列化一个对象,jvm会给我们创建一个单独的对象。在反序列化时,jvm创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口 。
span style="color: #ff0000;"ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));Employee emp5 = (Employee) in.readObject();/span
java创建对象的几种方式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java创建对象的五种方式、java创建对象的几种方式的信息别忘了在本站进行查找喔。
发布于:2022-12-19,除非注明,否则均为
原创文章,转载请注明出处。