1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java的复制构造函数_什么是Java中的复制构造函数?

java的复制构造函数_什么是Java中的复制构造函数?

时间:2019-01-09 12:55:45

相关推荐

java的复制构造函数_什么是Java中的复制构造函数?

通常,复制构造函数是通过使用先前已创建的相同类的对象初始化对象来创建对象的构造函数。

Java支持复制构造函数,但与C语言不同,Java没有提供您需要自己定义的显式复制构造函数。

写一个拷贝构造函数

通常,为了初始化类的实例变量的值(一种方式),我们创建一个参数化的构造函数,接受所有实例变量的值,并使用给定的值对其进行初始化。intname;

intage;

publicStudent(Stringname,intage){

this.name=name;

this.age=age;

}

但是,在复制构造函数中,接受当前类的对象,并使用获取的对象中的值初始化实例变量的值。publicStudent(Studentstd){

this.name=std.name;

this.age=std.age;

}

然后,如果您创建了一个对象并通过传递对象来调用副本构造函数,则将获得您之前创建的对象的副本。Studentstd=newStudent("nameValue",ageValue);

StudentcopyOfStd=newStudent(std);

示例

以下是演示Java中的副本构造函数的示例。importjava.util.Scanner;

publicclassStudent{

privateStringname;

privateintage;

publicStudent(Stringname,intage){

this.name=name;

this.age=age;

}

publicStudent(Studentstd){

this.name=std.name;

this.age=std.age;

}

publicvoiddisplayData(){

System.out.println("Name:"+this.name);

System.out.println("Age:"+this.age);

}

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("Enteryourname");

Stringname=sc.next();

System.out.println("Enteryourage");

intage=sc.nextInt();

Studentstd=newStudent(name,age);

System.out.println("Contentsoftheoriginalobject");

std.displayData();

System.out.println("Contentsofthecopiedobject");

StudentcopyOfStd=newStudent(std);

copyOfStd.displayData();

}

}

输出结果Enteryourname

Krishna

Enteryourage

20

Contentsoftheoriginalobject

Name:Krishna

Age:20

Contentsofthecopiedobject

Name:Krishna

Age:20

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。