更新時(shí)間:2022-08-09 11:02:41 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3179次
Java創(chuàng)建對(duì)象數(shù)組的方法是什么?動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家。Java 編程語(yǔ)言是關(guān)于類和對(duì)象的,因?yàn)樗且环N面向?qū)ο蟮木幊陶Z(yǔ)言。當(dāng)我們需要在程序中存儲(chǔ)單個(gè)對(duì)象時(shí),我們使用 Object 類型的變量來(lái)完成。但是當(dāng)我們處理大量對(duì)象時(shí),最好使用對(duì)象數(shù)組。
Java對(duì)象數(shù)組這個(gè)名字本身就暗示它存儲(chǔ)了一個(gè)對(duì)象數(shù)組。與傳統(tǒng)的數(shù)組存儲(chǔ)值(如字符串、整數(shù)、布爾值等)不同,對(duì)象數(shù)組存儲(chǔ)對(duì)象,這意味著對(duì)象被存儲(chǔ)為數(shù)組的元素。請(qǐng)注意,當(dāng)我們說(shuō)對(duì)象數(shù)組時(shí),存儲(chǔ)在數(shù)組中的不是對(duì)象本身,而是對(duì)象的引用。
使用Object 類創(chuàng)建一個(gè)對(duì)象數(shù)組,我們知道 Object 類是所有類的根類。
我們使用Class_Name后跟一個(gè)方括號(hào)[],然后是對(duì)象引用名稱來(lái)創(chuàng)建一個(gè)對(duì)象數(shù)組。
Class_Name[ ] objectArrayReference;
或者,我們也可以將對(duì)象數(shù)組聲明為:
Class_Name objectArrayReference[ ];
上述兩個(gè)聲明都暗示objectArrayReference是一個(gè)對(duì)象數(shù)組。
例如,如果您有一個(gè) Student 類,那么我們可以創(chuàng)建一個(gè) Student 對(duì)象數(shù)組,如下所示:
學(xué)生[]學(xué)生對(duì)象;
或者
學(xué)生 studentObjects[];
句法:
Class_Name obj[ ]= new Class_Name[Array_Length];
例如,如果您有一個(gè) Student 類,并且我們想要聲明和實(shí)例化一個(gè)具有兩個(gè)對(duì)象/對(duì)象引用的 Student 對(duì)象數(shù)組,那么它將被寫為:
學(xué)生[]學(xué)生對(duì)象=新學(xué)生[2];
并且一旦像這樣實(shí)例化對(duì)象數(shù)組,則需要使用 new 關(guān)鍵字創(chuàng)建對(duì)象數(shù)組的各個(gè)元素。
下圖顯示了對(duì)象數(shù)組的結(jié)構(gòu):
一旦對(duì)象數(shù)組被實(shí)例化,我們需要用值初始化它。我們不能以使用原始類型初始化的方式初始化數(shù)組,因?yàn)樗c原始類型數(shù)組不同。在對(duì)象數(shù)組中,我們必須初始化數(shù)組的每個(gè)元素,即需要初始化每個(gè)對(duì)象/對(duì)象引用。
初始化對(duì)象數(shù)組的不同方法:
通過(guò)使用構(gòu)造函數(shù)
通過(guò)使用單獨(dú)的成員方法
1.通過(guò)使用構(gòu)造函數(shù):
在創(chuàng)建實(shí)際對(duì)象時(shí),我們可以通過(guò)分別將值傳遞給構(gòu)造函數(shù)來(lái)為每個(gè)對(duì)象分配初始值。單獨(dú)的實(shí)際對(duì)象是使用其不同的值創(chuàng)建的。
下面的程序顯示了如何使用構(gòu)造函數(shù)初始化對(duì)象數(shù)組。
// Java program to demonstrate initializing
// an array of objects using constructor
class GFG {
public static void main(String args[])
{
// Declaring an array of student
Student[] arr;
// Allocating memory for 2 objects
// of type student
arr = new Student[2];
// Initializing the first element
// of the array
arr[0] = new Student(1701289270, "Satyabrata");
// Initializing the second element
// of the array
arr[1] = new Student(1701289219, "Omm Prasad");
// Displaying the student data
System.out.println(
"Student data in student arr 0: ");
arr[0].display();
System.out.println(
"Student data in student arr 1: ");
arr[1].display();
}
}
// Creating a student class with
// id and name as a attributes
class Student {
public int id;
public String name;
// Student class constructor
Student(int id, String name)
{
this.id = id;
this.name = name;
}
// display() method to display
// the student data
public void display()
{
System.out.println("Student id is: " + id + " "
+ "and Student name is: "
+ name);
System.out.println();
}
}
輸出
學(xué)生 arr 0 中的學(xué)生數(shù)據(jù):
學(xué)生 ID 是:1701289270 學(xué)生姓名是:Satyabrata
學(xué)生 arr 1 中的學(xué)生數(shù)據(jù):
學(xué)生 ID 是:1701289219 學(xué)生姓名是:Omm Prasad
2.通過(guò)使用單獨(dú)的成員方法:
通過(guò)使用單獨(dú)的成員方法,我們也可以初始化對(duì)象。創(chuàng)建相應(yīng)類的成員函數(shù),用于將初始值分配給對(duì)象。
下面的程序顯示了如何使用單獨(dú)的成員方法初始化對(duì)象數(shù)組。
// Java program to demonstrate initializing
// an array of objects using a method
class GFG {
public static void main(String args[])
{
// Declaring an array of student
Student[] arr;
// Allocating memory for 2 objects
// of type student
arr = new Student[2];
// Creating actual student objects
arr[0] = new Student();
arr[1] = new Student();
// Assigning data to student objects
arr[0].setData(1701289270, "Satyabrata");
arr[1].setData(1701289219, "Omm Prasad");
// Displaying the student data
System.out.println(
"Student data in student arr 0: ");
arr[0].display();
System.out.println(
"Student data in student arr 1: ");
arr[1].display();
}
}
// Creating a Student clas with
// id and name as a attributes
class Student {
public int id;
public String name;
// Method to set the data to
// student objects
public void setData(int id, String name)
{
this.id = id;
this.name = name;
}
// display() method to display
// the student data
public void display()
{
System.out.println("Student id is: " + id + " "
+ "and Student name is: "
+ name);
System.out.println();
}
}
輸出
學(xué)生 arr 0 中的學(xué)生數(shù)據(jù):
學(xué)生 ID 是:1701289270 學(xué)生姓名是:Satyabrata
學(xué)生 arr 1 中的學(xué)生數(shù)據(jù):
學(xué)生 ID 是:1701289219 學(xué)生姓名是:Omm Prasad
讓我們看另一個(gè)使用初始值聲明對(duì)象數(shù)組的示例:
這里對(duì)象數(shù)組的聲明是通過(guò)添加初始值來(lái)完成的。
// Java program to demonstrate an array
// of objects is declared with initial values.
class GFG {
public static void main(String args[])
{
// Creating an array of objects
// declared with initial values
Object[] javaObjectArray
= { "Maruti", new Integer(2019), "Suzuki",
new Integer(2019) };
// Printing the values
System.out.println(javaObjectArray[0]);
System.out.println(javaObjectArray[1]);
System.out.println(javaObjectArray[2]);
System.out.println(javaObjectArray[3]);
}
}
輸出
馬魯?shù)?
2019
鈴木
2019
通過(guò)上述介紹,相信大家對(duì)Java創(chuàng)建對(duì)象數(shù)組的方法已經(jīng)有所了解,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java基礎(chǔ)教程,里面有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743