Như Marko Topolnik nói, thứ tự nhập khẩu không liên quan đến ý nghĩa của chương trình.
Tôi đã thử xem JLS cho một tuyên bố rõ ràng về hiệu ứng đó, nhưng tôi không thể tìm thấy. Và Hướng dẫn Java cũng không đề cập đến thứ tự nhập. Tuy nhiên, ngữ nghĩa của import
là như vậy mà nó làm cho không có sự khác biệt. Nếu kết quả nhập khẩu trong bất kỳ sự mơ hồ tiềm năng nào do thứ tự nhập, thì JLS cho biết đó là lỗi biên dịch.
Do đó, đây chỉ là một quy ước kiểu cách. (Trên thực tế, nếu bạn nhìn vào các quy tắc, nó thậm chí còn cung cấp cho bạn tùy chọn đặt hàng nhập khẩu tĩnh đầu tiên!)
CẬP NHẬT
@Eugene Stepanenkov chỉ ra Q này & Một
Đó là một lỗi khó hiểu trong các phiên bản o f trình biên dịch Java Java trước Java 8. Nó được (cuối cùng) thừa nhận và cố định.
Tôi đoán, điều đó có nghĩa là lỗi có thể là một phần của động lực cho cảnh báo Codenarc. Tuy nhiên, đây là vấn đề: nếu bạn đang sử dụng một trình biên dịch Java bị ảnh hưởng bởi lỗi, thì mã với các hàng nhập khẩu theo thứ tự "sai" sẽ không biên dịch được ... kết xuất lệnh cảnh báo Codenarc.
Nguồn
2012-11-14 09:46:24
Đó là quy ước duy nhất. Theo như Java là có liên quan, nó là không thích hợp. –
Trình định dạng của IntelliJ đặt nhập khẩu tĩnh sau khi nhập khẩu bình thường theo mặc định. –
@PeterLawrey Yeah Ý tưởng và nó có ý nghĩa!xem [ví dụ] (http://stackoverflow.com/questions/40440653/why-do-i-get-different-compilation-result-depending-on-import-sequence-order) –