"Chào, Amigo!"

"Xin chào, Rishi."

"Hôm nay tôi sẽ giới thiệu sâu hơn về chú thích."

"Như bạn có thể đã biết, chú thích là những từ đặc biệt có thể được đặt bên cạnh các lớp, trường, phương thức và biến."

"Vâng. Tôi gặp họ rất thường xuyên."

"Đôi khi chúng còn được gọi là siêu dữ liệu . Mục đích chính của chúng là lưu trữ thông tin bổ sung cụ thể về các phương thức, trường và lớp."

"Họ lưu trữ nó cho ai?"

"Đó là một câu hỏi rất hay."

"Mọi người viết chú thích, có nghĩa là ai đó phải cần chúng."

"Chú thích cho phép bạn lưu trữ thông tin bổ sung về mã và các phần tử chương trình, nhưng về mặt hình thức, chúng không phải là một phần của mã."

"Chú thích có thể được sử dụng để tạo XML, xác định xem một phương thức có bị phản đối hay không, theo dõi lỗi, v.v."

"Đây là một ví dụ về các chú thích trong mã:"

Ví dụ
@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
 @Name("Missy")
 private String name;

 @SuppressWarnings(value = "unchecked")
 void getUniqueCatName()
 {

 }
}

"Như bạn có thể thấy, dữ liệu có thể được lưu trữ trong các chú thích."

"Nếu một chú thích chỉ có một trường được gọi là giá trị thì có thể bỏ qua tên trường:"

Ví dụ
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"Nếu không có tham số bên trong dấu ngoặc đơn, thì chúng cũng có thể được bỏ qua:"

Ví dụ
@Override
void getUniqueCatName()
{

}

"Thật dễ dàng để tạo chú thích của riêng bạn. Việc khai báo một chú thích gần giống với việc khai báo một giao diện."

Ví dụ
@interface CatManager
{
 Class manager();
 boolean unique();
 String name() default "Unknown Cat";
}

"Chỉ có một vài sự khác biệt."

"Đầu tiên, bạn đặt dấu «@» trước từ giao diện . "

"Thứ hai, chú thích có thể có giá trị mặc định. Bạn sử dụng từ mặc định để đặt giá trị mặc định . Xem ví dụ ở trên. Các tham số này là tùy chọn và có thể được bỏ qua khi thêm chú thích."

"À. Tất cả dễ dàng hơn tôi nghĩ. Và tôi đã tránh chúng như Robo-Devil tránh nước thánh. Thật không dễ chịu gì khi mã có nhiều thứ bạn không hiểu hoàn toàn."

"Ồ, thật tốt là bạn đã nhắc tôi - tôi muốn cho bạn biết thêm về các chú thích được sử dụng bởi trình biên dịch."

"Chỉ có 3 chú thích như vậy. Chà, cho đến nay là ba chú thích."

@Không dùng nữa.

"Bạn có thể chú thích một lớp hoặc một phương thức với @Deprecated. Điều này sẽ khiến trình biên dịch đưa ra cảnh báo (cảnh báo không phải là lỗi) và IntelliJ IDEA sẽ hiển thị phương thức này dưới dạng văn bản gạch ngang. Đại loại như sau  :

Ví dụ
Date date = new Date();
int year = date.getYear();

@Ghi đè.

"Việc thêm chú thích @Override vào các phương thức mà bạn ghi đè được coi là phương pháp hay nhất."

"Cái đó để làm gì? Chẳng phải IDEA đã hiển thị liệu một phương thức có bị ghi đè hay không?"

"Đầu tiên, có IDEA và sau đó là cú pháp Java."

"Và thứ hai, theo giả thuyết, bạn có thể gặp tình huống trong đó phương thức của lớp cơ sở được đổi tên mà không có sự thay đổi tương ứng đối với tên phương thức trong lớp con. Chương trình sẽ không hoạt động như mong đợi, nhưng sẽ không ai chú ý. Chú thích này được phát minh để ngăn chặn những tình huống này xảy ra:"

Ví dụ
@Override
void getUniqueCatName()
{

}

@SuppressWarnings.

"Đôi khi trình biên dịch hiển thị rất nhiều cảnh báo. Và đôi khi chúng tôi biết về «sự cố» và cố tình chọn sử dụng mã tương ứng tạo ra chúng. Bạn có thể sử dụng chú thích này để ẩn một số cảnh báo này."

"Một lập trình viên có thể sử dụng chú thích @SuppressWarnings để thông báo cho trình biên dịch, «Không hiển thị cảnh báo cho lỗi này — đó là cố ý." Ví dụ:"

Ví dụ
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"Hiểu rồi."

"Tôi hơi mệt. Tôi sắp ướt cổ họng khô khốc. Hãy tiếp tục sau khi nghỉ giải lao, được chứ?"

"Chắc chắn."