2010-09-17 33 views
34

Tôi gặp sự cố gây phiền nhiễu với chú thích @Override trong Eclipse. Thông thường khi tôi nhập các dự án làm việc trên một máy tính mới, Eclipse đánh dấu một số chú thích @Override là sai. Nếu tôi loại bỏ các chú thích, mọi thứ đều ổn và Eclipse cũng chỉ ra rằng các phương thức này sẽ ghi đè các phương thức của cha mẹ nhưng việc thêm chú thích Ghi đè sẽ gây ra lỗi một lần nữa. Tôi hiện đang làm việc trên một dự án Android để nó có thể là một vấn đề với Android và không phải với Eclipse ..Lỗi có ghi chú ghi đè trong Eclipse

+0

có thể trùng lặp với lỗi ['Phải ghi đè lên phương thức Superclass' sau khi nhập dự án vào Eclipse] (http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing -a-project-into-eclipse) – cHao

+0

nó có thể giúp đề cập đến câu hỏi trùng lặp tại http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project- vào nhật thực ... nhưng tôi không biết đánh dấu nó như thế nào –

Trả lời

46

Điều này rất có thể do bạn đang chuyển đổi giữa Java 1.5 và Java 1.6. Trong 1.5 bạn không thể đánh dấu việc triển khai giao diện bằng @Override, nhưng bạn có thể trong 1.6.

Một tìm kiếm nhanh Google bật lên lời giải thích này tốt đẹp của sự khác biệt trong chú thích này giữa hai phiên bản: http://www.techienuggets.com/CommentDetail?tx=38155

Semantics của @ Override là khác nhau trong JDK 1.5 và JDK 1.6. Trong JDK 1.5, chú thích @Override không được phép để triển khai phương thức được khai báo trong giao diện, trong khi chúng được phép trong JDK 1.6. Để biết thêm thông tin , xem:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5008260 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361 http://blogs.oracle.com/ahe/?entry=override

Đó là thực tế rằng các mô tả về chú thích Override chưa được cập nhật trong tài liệu JDK API. Điều này đã được báo cáo là một lỗi:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501053bugdatabase/view_bug.do?bug_id=6501053

+0

Xin lỗi, newb ở đây, bạn có thể làm gì để loại bỏ các lỗi này? Tôi đã cập nhật mức tuân thủ Mã Java của mình lên 1.6 và tôi vẫn thấy lỗi, có lẽ điều gì đó khác là sai. –

3

Đảm bảo Java SDK đã sử dụng được cập nhật và nhật thực sử dụng phiên bản SDK phù hợp (nếu bạn có nhiều hơn một cài đặt) và xử lý dự án Android của bạn bằng phiên bản SDK phù hợp ...

21

chỉ cần đi đến

window -> prefrences -> java -> compiler 

và đặt nó là 1.6 như ký hiệu bắt đầu từ 1.6 vì vậy nếu mức compilence sẽ ít hơn 1,6 nó sẽ cung cấp lỗi

+0

Giúp tôi rất nhiều về ADT17 –

6

Có một vài nơi cài đặt Trình biên dịch Java được định cấu hình.

Một cách là Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above. Một cách khác là click chuột phải trên Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.

Ngoài ra Bạn có thể bỏ chọn "Enable Dự án Cài đặt cụ thể", điều này sẽ loại bỏ JDK lỗi biên dịch phù hợp trong tương lai. Xóa nhiều phiên bản của phiên bản JDK, trừ khi các dự án khác nhau cần chúng.

+0

Điều này đã giải quyết được vấn đề của tôi. Các sở thích Eclipse của tôi là 1,6 và luôn luôn có được, nhưng dự án của tôi bằng cách nào đó đã giảm xuống 1,5. – kjl