Java對象數(shù)組定義與用法詳解
本文實例講述了Java對象數(shù)組定義與用法。分享給大家供大家參考,具體如下:
所謂的對象數(shù)組,就是指包含了一組相關(guān)的對象,但是在對象數(shù)組的使用中一定要清楚一點:數(shù)組一定要先開辟空間,但是因為其是引用數(shù)據(jù)類型,所以數(shù)組里面的每一個對象都是null值,則在使用的時候數(shù)組中的每一個對象必須分別進行實例化操作。
對象數(shù)組的聲明
先定義,再開辟空間
類名稱 對象數(shù)組名[] = null;
對象數(shù)組名 = new 類名稱[長度];
定義并開辟數(shù)組
類名稱 對象數(shù)組名[] = new 類名稱[長度];
在聲明對象數(shù)組后 ,必須對每個數(shù)組成員進行實例化話 才能直接使用,否則報空指針異常!
動態(tài)初始化
先聲明數(shù)組,然后對數(shù)組中的每一個對象必須分別進行實例化操作。
public class Test {
public static void main(String[] args) {
Person[] ps = new Person[3]; // 聲明一個對象數(shù)組,里面有三個對象
System.out.println("---------------數(shù)組聲明后-------------------");
for (int x = 0; x < ps.length; x++) {
System.out.print(ps[x] + " "); // 循環(huán)輸出
}
// 創(chuàng)建3個人,并實例化
Person p1 = new Person("jerry", 18);
Person p2 = new Person("tom", 20);
Person p3 = new Person("rose", 25);
ps[0] = p1; // 實例化第一個元素
ps[1] = p2; // 實例化第二個元素
ps[2] =p3; // 實例化第三個元素
System.out.println("\n---------------對象實例化-------------------");
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) { // 通過構(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
---------------對象實例化-------------------
Person [name=jerry, age=18] Person [name=tom, age=20] Person [name=rose, age=25]
下面是對上面對象數(shù)組初始化操作的內(nèi)存圖解:

靜態(tài)初始化
類名稱 對象數(shù)組名[] = new 類名稱[] {對象,對象......};
public class Test {
public static void main(String[] args) {
// 聲明一個對象數(shù)組,里面有三個對象,使用靜態(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]
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)組操作技巧總結(jié)》、《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)學運算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點技巧總結(jié)》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
springboot中使用mybatisplus自帶插件實現(xiàn)分頁的示例代碼
這篇文章主要介紹了springboot中使用mybatisplus自帶插件實現(xiàn)分頁,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
Java常見的數(shù)據(jù)結(jié)構(gòu)之棧和隊列詳解
這篇文章主要介紹了Java常見的數(shù)據(jù)結(jié)構(gòu)之棧和隊列詳解,棧(Stack) 是一種基本的數(shù)據(jù)結(jié)構(gòu),具有后進先出(LIFO)的特性,類似于現(xiàn)實生活中的一疊盤子,棧用于存儲一組元素,但只允許在棧頂進行插入(入棧)和刪除(出棧)操作,需要的朋友可以參考下2023-10-10
Java網(wǎng)絡(luò)編程之UDP網(wǎng)絡(luò)通信詳解
這篇文章主要為大家詳細介紹了Java網(wǎng)絡(luò)編程中的UDP網(wǎng)絡(luò)通信的原理與實現(xiàn),文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下2022-09-09
圖文講解Java中實現(xiàn)quickSort快速排序算法的方法
這篇文章主要介紹了Java中實現(xiàn)quickSort快速排序算法的方法,文章最后還介紹了一種單向掃描的實現(xiàn)方法,需要的朋友可以參考下2016-05-05

