Tôi đang cố tạo một mảng các đối tượng như được định nghĩa bởi một lớp con (tôi nghĩ đó là thuật ngữ chính xác). Tôi có thể thấy rằng câu hỏi là định kỳ, nhưng việc triển khai vẫn còn có vấn đề.Cách tạo một mảng đối tượng trong Java
Mã của tôi
public class Test {
private class MyClass {
int bar = -1;
}
private static MyClass[] foo;
public static void main(String args[]) {
foo = new MyClass[1];
foo[0].bar = 0;
}
}
Cung cấp cho các lỗi
Exception in thread "main" java.lang.NullPointerException.
Trong một nỗ lực nhằm hợp lý hóa nó, tôi đã phá vỡ nó xuống với các điều khoản đơn giản nhất:
public class Test {
private static int[] foo;
public static void main(String args[]) {
foo = new int[1];
foo[0] = 0;
}
}
nào xuất hiện để làm việc. Tôi không thấy sự khác biệt giữa hai ví dụ của tôi. (Tôi hiểu rằng đầu tiên của tôi là vô nghĩa, nhưng MyClass cuối cùng sẽ chứa nhiều dữ liệu hơn.)
Tôi khá chắc chắn câu hỏi được yêu cầu here và được trả lời rất tốt. Tôi nghĩ rằng tôi thực hiện các giải pháp:
MyClass[] foo = new MyClass[10];
foo[0] = new MyClass();
foo[0].bar = 0;
nhưng dòng thứ hai của các vấn đề trên các lỗi
Không dụ kèm theo các loại thử nghiệm có thể truy cập.
Tôi hiểu rằng ArrayList sẽ là con đường phía trước, nhưng tôi đang cố gắng nắm bắt các khái niệm cơ bản.
NB - Có thể hữu ích khi biết rằng trong khi rất thoải mái với lập trình nói chung, Java là lần đầu tiên tôi nhúng vào lập trình hướng đối tượng.
Hướng dẫn java chapeter ab ra [các lớp lồng nhau] (http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html) có thể là một bài đọc thú vị về các khái niệm cơ bản của các lớp bên trong. – Alderath