Phần 1. Tôi đã viết rất ngắn gọn về các chú thích của loại NGUỒN và LỚP. Cái này đáng đọc, để khỏi lạc sang phần 2 và để mở rộng "sự hiểu lầm" của các bạn ra một chút =) Mình hứa chắc chắn sẽ có ít nhất một từ mà bạn biết! Lần đầu tiên tôi nhìn thấy các chú thích trong các nhiệm vụ ở đây, bằng cách nào đó, tôi đã không chú ý nhiều đến chúng. Có @Override ở đây và ở đó, nhưng IDEA thêm điều đó, vì vậy tôi nghĩ rằng nó phải như vậy. Theo thời gian, tôi nhận ra rằng mọi thứ sâu sắc hơn nhiều. Khi bạn học, các chú thích có vẻ hơi vô dụng nhưng cần thiết. Bạn không biết tại sao chúng tồn tại hoặc chúng làm gì. Bạn đã đọc một vài bài báo nói rằng, "thật tuyệt khi chúng ta có chú thích bây giờ, mọi thứ đã trở nên thật đơn giản." Nhưng trước đây tôi không biết mọi thứ như thế nào và tôi không hiểu rằng bây giờ mọi thứ dễ dàng hơn. Bây giờ tôi biết và muốn chia sẻ một chút. Có 3 loại chú thích (RetentionPolicy):
Bản địa - Tôi chưa bao giờ thấy cái này và chưa bao giờ sử dụng nó. Tôi nghĩ rằng đây là một chú thích khá hiếm, bởi vì nó được sử dụng khi bạn cần chạy mã bằng một ngôn ngữ "bản địa" khác. Tôi đã cố gắng và thất bại trong việc tìm thấy một đề cập rõ ràng về nó.
SuppressWarnings — Chú thích này thường được sử dụng như sau: @SuppressWarnings("unchecked"). Nó được sử dụng để chặn các cảnh báo mà bạn đã biết. Ví dụ trước loại bỏ các cảnh báo về chuyển đổi loại không được kiểm tra. Một lần nữa, đây là cách sử dụng duy nhất mà tôi gặp phải.
Đã tạo — Tôi đang chạy vào chú thích này ngay bây giờ do một nhiệm vụ mà tôi phải tạo các lớp từ các tệp XSD. 3 chú thích này khá cụ thể và rất có thể hiện tại bạn không quan tâm. Tôi sẽ mô tả cái cuối cùng.
Ghi đè - Bạn sử dụng nó liên tục và nó làm được điều gì đó rất hữu ích. Khi ghi đè một phương thức, rất dễ mắc lỗi nếu không có sự trợ giúp của IDEA. Cho dù lỗi chính tả hay lỗi đơn giản, lỗi vẫn xảy ra. Chú thích này sẽ đảm bảo rằng phương thức trong lớp cha khớp với phương thức (được chú thích) của chúng ta. Điều này đảm bảo rằng phương thức sẽ được ghi đè thay vì được thêm vào. Khi tái cấu trúc mã, phương thức gốc có thể bị xóa hoặc thay đổi. Một lần nữa, chú thích này sẽ chỉ ra một lỗi. Không có nó, phương pháp của chúng tôi sẽ được thêm vào. Nhạt nhẽo? Tôi sẽ nói có. Không có nhiều hữu ích để lượm lặt từ bài viết này. Hầu hết mọi thứ (90%) ở đây mô tả thứ gì đó mà bạn sẽ không bao giờ sử dụng hoặc rất hiếm khi sử dụng. 10% còn lại là gửi lời chào và mô tả chú thích @Override, thoạt nhìn thì vô dụng. Điều đó nói rằng, tôi nghĩ rằng trong phần thứ hai của bài viết sẽ thú vị hơn. Ở đó sẽ thảo luận về các chú thích RUNTIME — chúng tương tác với mã trong quá trình thực thi và thực hiện ma thuật đen. Chú thích. Phần 2. Lombok
- NGUỒN - Chú thích cho trình biên dịch
- LỚP — Thông tin từ chú thích sẽ được ghi bằng mã byte nhưng không có sẵn khi chạy. Họ nói rằng thư viện tiêu chuẩn có nhiều chú thích kiểu này, hiện được giữ lại để tương thích ngược. Điều này được sử dụng cho các nhiệm vụ rất cụ thể.
- Hỏi đáp trên StackOverflow
- RUNTIME — Những chú thích này là phổ biến nhất. Chúng được sử dụng trong khi mã đang được thực thi.
- java/lang/annotation/Native.class;
- java/lang/SuppressWarnings.class
- javax/annotation/Generated.class
- java/lang/Ghi đè.class
- com/sun/istack/internal/Nullable.class
- com/sun/istack/internal/NotNull.class
- com/sun/istack/internal/Interned.class
- Gốc — Một biến có chú thích này có thể đề cập đến mã gốc;
- SuppressWarnings - Chú thích này chặn các cảnh báo khác nhau của trình biên dịch;
- Đã tạo — Chú thích này đánh dấu mã nguồn đã được tạo;
- Ghi đè — Ghi đè phương thức kiểm tra chú thích này.
GO TO FULL VERSION