Tôi mới sử dụng cả Eclipse và Java.Lỗi xây dựng trong nhật thực
Tôi tự hỏi nếu sau đây là lỗi trong trình biên dịch Eclipses hoặc cài đặt của tôi.
Tôi đã xác định một lớp công khai trong một lớp công khai để xác định kiểu trả về cho một phương thức dịch vụ.
public class ServiceThing {
public class ReturnType {...}
public ReturnType serviceMethod (...) {...}
...
}
Trong lớp học, nơi tôi gọi là phương pháp dịch vụ tôi instatiate một ReturnType để lưu trữ thư mặc định:
ReturnType returnType = new ReturnType(...);
Khi một cố gắng để xây dựng này tôi nhận được các lỗi sau đây:
Building không gian làm việc: Lỗi xảy ra trong quá trình xây dựng. Lỗi khi chạy trình tạo Java Builder 'trên dự án' XXXX.android '. java.lang.ArrayIndexOutOfBoundsException
Lưu không thành công: Lưu Không thành công; java.lang.NullPointerException
tôi phát hiện ra rằng cú pháp cần thiết là:
ServiceThing serviceThing = ...;
ReturnType returnType = serviceThing.new ReturnType(...);
Nhưng trình biên dịch không nên tạo ra một NullPointerException anyway.
Tôi có thể hỏi tại sao bạn cần một lớp học công cộng trong lớp học công cộng? Nếu công chúng của nó, tại sao không làm cho nó một lớp độc lập hoàn toàn. – Gapton
Nó chỉ là để đưa ra một dấu hiệu mạnh mẽ về ý định của lớp. Nó hoàn toàn là được sử dụng cho một kiểu trả về của cuộc gọi dịch vụ. Nếu tôi đặt nó vào tập tin sparate tôi nghĩ rằng nó sẽ trông lộn xộn vì nó không có một cuộc sống riêng của mình – bitestar