2012-05-04 44 views
6

Tôi có hàm tạo lớp này:Cách khởi tạo mảng trong java khi hàm tạo của lớp có các tham số?

Danh mục công khai (int max) { . . . }

Điều này là, tôi muốn tạo một mảng của lớp này, làm cách nào để khởi tạo nó?

riêng Danh mục thể loại = danh mục mới (tối đa) [4];

Không hoạt động.

CẬP NHẬT

Tôi có cần phải làm một cái gì đó như thế này?

riêng Danh mục [] categories = new Category [4];

Và sau đó khởi tạo từng đối tượng?

+2

có chỉnh sửa của bạn. –

Trả lời

12

Khi bạn tạo mảng, bạn đang tạo một mảng Danh mục. Đó là một thể hiện của mảng.

Khi bạn đang nhập mảng bằng các đối tượng Danh mục, tại thời điểm đó bạn sử dụng Danh mục có Const.

Category [] categories = new Category[4]; 
categories[0] = new Category(10); 
3

Khởi tạo nó như một mảng đầu tiên

Category[] categories = new Categories[4]; 
categories[0] = new Category(max); 

Sau đó khởi tạo mỗi yếu tố cá nhân.

5
private Category[] categories = new Category[4]; 

sẽ được khởi tạo với 4 loại null, bạn phải điền vào nội dung bản thân sau này.
Hoặc bạn có thể thử:

private Category[] categories = {new Category(max), new Category(max), new Category(max), new Category(max)}; 
2

Bạn cũng có thể làm điều đó trong dòng - làm cho cả hai mảng và cư nó với các giá trị khởi xướng với nhà thầu của họ cùng một lúc. Giả sử bạn có một lớp được gọi là Trường có một hàm tạo tham gia hai tham số và bạn muốn tạo một mảng ...

Field[] fields = new Field[]{ 
    new Field(1, "Record_Type"), 
    new Field(3, "Record_SubType"), 
    new Field(6, "Row_Number"), 
    ... 
}; 
Các vấn đề liên quan