日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/3/11 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的复制构造函数_什么是Java中的复制构造函数? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常,復制構造函數是通過使用先前已創建的相同類的對象初始化對象來創建對象的構造函數。

Java支持復制構造函數,但與C語言不同,Java沒有提供您需要自己定義的顯式復制構造函數。

寫一個拷貝構造函數

通常,為了初始化類的實例變量的值(一種方式),我們創建一個參數化的構造函數,接受所有實例變量的值,并使用給定的值對其進行初始化。int?name;

int?age;

public?Student(String?name,?int?age){

this.name?=?name;

this.age?=?age;

}

但是,在復制構造函數中,接受當前類的對象,并使用獲取的對象中的值初始化實例變量的值。public?Student(Student?std){

this.name?=?std.name;

this.age?=?std.age;

}

然后,如果您創建了一個對象并通過傳遞對象來調用副本構造函數,則將獲得您之前創建的對象的副本。Student?std?=?new?Student("nameValue",?ageValue);

Student?copyOfStd?=?new?Student(std);

示例

以下是演示Java中的副本構造函數的示例。import?java.util.Scanner;

public?class?Student?{

private?String?name;

private?int?age;

public?Student(String?name,?int?age){

this.name?=?name;

this.age?=?age;

}

public?Student(Student?std){

this.name?=?std.name;

this.age?=?std.age;

}

public?void?displayData(){

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

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

}

public?static?void?main(String[]?args)?{

Scanner?sc?=new?Scanner(System.in);

System.out.println("Enter?your?name?");

String?name?=?sc.next();

System.out.println("Enter?your?age?");

int?age?=?sc.nextInt();

Student?std?=?new?Student(name,?age);

System.out.println("Contents?of?the?original?object");

std.displayData();

System.out.println("Contents?of?the?copied?object");

Student?copyOfStd?=?new?Student(std);

copyOfStd.displayData();

}

}

輸出結果Enter?your?name

Krishna

Enter?your?age

20

Contents?of?the?original?object

Name?:?Krishna

Age?:?20

Contents?of?the?copied?object

Name?:?Krishna

Age?:?20

總結

以上是生活随笔為你收集整理的java的复制构造函数_什么是Java中的复制构造函数?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。