「java创建对象的几种方式」java创建对象的五种方式

博主:adminadmin 2022-12-19 13:24:07 66

本篇文章给大家谈谈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创建对象的几种方式的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。