更新時(shí)間:2021-06-03 16:34:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽903次
所謂的對(duì)象數(shù)組,就是指包含了一組相關(guān)的對(duì)象,但是在對(duì)象數(shù)組的使用中一定要清楚一點(diǎn):數(shù)組一定要先開(kāi)辟空間,但是因?yàn)槠涫且脭?shù)據(jù)類(lèi)型,所以數(shù)組里面的每一個(gè)對(duì)象都是null值,則在使用的時(shí)候數(shù)組中的每一個(gè)對(duì)象必須分別進(jìn)行實(shí)例化操作。
先定義,再開(kāi)辟空間
類(lèi)名稱(chēng) 對(duì)象數(shù)組名[] = null;
對(duì)象數(shù)組名 = new 類(lèi)名稱(chēng)[長(zhǎng)度];
定義并開(kāi)辟數(shù)組
類(lèi)名稱(chēng) 對(duì)象數(shù)組名[] = new 類(lèi)名稱(chēng)[長(zhǎng)度];
在聲明對(duì)象數(shù)組后,必須對(duì)每個(gè)數(shù)組成員進(jìn)行實(shí)例化話(huà)才能直接使用,否則報(bào)空指針異常!
先聲明數(shù)組,然后對(duì)數(shù)組中的每一個(gè)對(duì)象必須分別進(jìn)行實(shí)例化操作。
public class Test {
public static void main(String[] args) {
Person[] ps = new Person[3]; // 聲明一個(gè)對(duì)象數(shù)組,里面有三個(gè)對(duì)象
System.out.println("---------------數(shù)組聲明后-------------------");
for (int x = 0; x < ps.length; x++) {
System.out.print(ps[x] + " "); // 循環(huán)輸出
}
// 創(chuàng)建3個(gè)人,并實(shí)例化
Person p1 = new Person("jerry", 18);
Person p2 = new Person("tom", 20);
Person p3 = new Person("rose", 25);
ps[0] = p1; // 實(shí)例化第一個(gè)元素
ps[1] = p2; // 實(shí)例化第二個(gè)元素
ps[2] =p3; // 實(shí)例化第三個(gè)元素
System.out.println("\n---------------對(duì)象實(shí)例化-------------------");
for (int x = 0; x < ps.length; x++) {
System.out.print(ps[x] + " ");
}
}
}
class Person {
private String name; // 姓名屬性
private int age; // 年齡屬性
public Person(String name, int age) { // 通過(guò)構(gòu)造方法設(shè)置內(nèi)容
this.name = name; // 為姓名賦值
this.age = age; // 為年齡賦值
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
執(zhí)行結(jié)果如下:
---------------數(shù)組聲明后-------------------
null null null
---------------對(duì)象實(shí)例化-------------------
Person [name=jerry, age=18] Person [name=tom, age=20] Person [name=rose, age=25]
下面是對(duì)上面對(duì)象數(shù)組初始化操作的內(nèi)存圖解:
類(lèi)名稱(chēng)對(duì)象數(shù)組名[]=new類(lèi)名稱(chēng)[]{對(duì)象,對(duì)象......};
public class Test {
public static void main(String[] args) {
// 聲明一個(gè)對(duì)象數(shù)組,里面有三個(gè)對(duì)象,使用靜態(tài)初始化方式
Person ps[] = { new Person("jerry", 18), new Person("tom", 20),
new Person("rose", 25)};
System.out.println("---------------數(shù)組輸出-------------------");
for (int x = 0; x < ps.length; x++) {
System.out.print(ps[x] + " "); // 循環(huán)輸出
}
}
}
執(zhí)行結(jié)果如下:
---------------數(shù)組輸出-------------------
Person [name=jerry, age=18] Person [name=tom, age=20] Person [name=rose, age=25]
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Java對(duì)象數(shù)組定義",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為您服務(wù)。
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ì)電話(huà)與您溝通安排學(xué)習(xí)