問題描述:
java 對象數組的使用
問題解決:
數組元素可以是任何類型(只要所有元素具有相同的類型)
數組元素可以是基本數據類型
數組元素也可以是類對象,稱這樣的數組為對象數組。在這種情況下,數組的每一個元素都是一個對象的引用。
例如
BankAccount [ ] accounts;或 BankAccount accounts[ ];
定義了一個存儲BankAccount類對象的數組。
與C、C++不同,Java在數組的定義中並不為數組元素分配內存,因此[ ]中不需指明數組中元素的個數,即數組長度,而且對於如上定義的數組是不能引用的,必須經過初始化才可以引用。
對象數組初始化
分為靜態初始化和動態初始化
靜態初始化:在定義數組的同時對數組元素進行初始化, 例如:
BankAccount[] accounts = { new BankAccount(“Zhang", 100.00),
new BankAccount(“Li", 2380.00),
new BankAccount(“Wang", 500.00),
new BankAccount(“Liu", 175.56),
new BankAccount(“Ma", 924.02)
};
動態初始化:使用運算符new為數組分配空間,對於基本類型的數組,其格式如下:
type arrayName[ ]=new type[arraySize];
type[ ] arrayName=new type[arraySize];
對於對象數組,使用運算符new只是為數組本身分配空間,並沒有對數組的元素進行初始化。即數組元素都為空,如圖。
具體實例
注:
以上OArray[] array=new OArray[5];只是對象數組本身分配空間,並沒有對數組元素進行初始化
因此運行程序會報錯:
出錯行為紅色框中內容
正確的對象數組使用方法:
注:
如上使用new為對象數組分配空間,然后對數組元素進行初始化。
注:
對於基本數據類型,采用new初始化數組時,數組元素也進行了相應的初始化。