“嗨,阿米戈!”
“你好,瑞希。”
“今天我就给大家深入介绍一下注解。”
“您可能已经知道,注释是可以放在类、字段、方法和变量旁边的特殊词。”
“是的,我经常遇到他们。”
“有时它们也被称为元数据。它们的主要目的是存储有关方法、字段和类的特定附加信息。”
“他们为谁存储它?”
“这是一个很好的问题。”
“人们写注释,这意味着必须有人需要它们。”
“注释让您可以存储有关代码和程序元素的附加信息,但从形式上讲,它们不是代码的一部分。”
“注释可用于生成 XML、确定方法是否已弃用、跟踪错误等。”
“这是代码中的注释示例:”
@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
@Name("Missy")
private String name;
@SuppressWarnings(value = "unchecked")
void getUniqueCatName()
{
}
}
“如您所见,数据可以存储在注释中。”
“如果一个注解只有一个名为value的字段,那么字段名可以省略:”
@SuppressWarnings("unchecked")
void getUniqueCatName()
{
}
"如果括号内没有参数,那么也可以省略:"
@Override
void getUniqueCatName()
{
}
“创建自己的注释非常容易。声明注释几乎与声明接口相同。”
@interface CatManager
{
Class manager();
boolean unique();
String name() default "Unknown Cat";
}
“只有几个不同之处。”
“首先,你在interface之前放了一个 «@» 符号。”
“其次,注释可以有默认值。您使用默认一词来设置默认值。请参见上面的示例。这些参数是可选的,在添加注释时可以省略。”
“啊。这比我想象的要容易得多。而且我一直在避开它们,就像机器魔鬼避开圣水一样。当代码中有很多你不完全理解的东西时,这不是很愉快。”
“哦,你提醒我真好——我想告诉你更多关于编译器使用的注释。”
“这样的注释只有三个。嗯,目前只有三个。”
@弃用。
“您可以使用@Deprecated 注释类或方法。这将导致编译器发出警告(警告不是错误),IntelliJ IDEA 会将此方法显示为带删除线的文本。像这样 :
Date date = new Date();
int year = date.getYear();
@覆盖。
“将 @Override 注释添加到您覆盖的方法被认为是最佳实践。”
“那是干嘛的?IDEA不是已经显示方法是否被覆盖了吗?”
“首先是 IDEA,然后是 Java 语法。”
“其次,假设,你可能会遇到这样一种情况,即基类的方法被重命名,而子类中的方法名称没有相应的更改。程序不会按预期工作,但没有人会注意到。发明这个注解是为了防止这些情况发生:"
@Override
void getUniqueCatName()
{
}
@SuppressWarnings。
“有时编译器会显示很多警告。有时我们知道 «问题» 并故意选择使用创建它们的相应代码。您可以使用此注释来隐藏其中一些警告。”
“程序员可以使用@SuppressWarnings注释告诉编译器,«不要显示此错误的警告 - 这是故意的。» 例如:”
@SuppressWarnings("unchecked")
void getUniqueCatName()
{
}
“知道了。”
“我有点累了,我要弄湿我干燥的喉咙了,我们休息一下再继续,好吗?”
“当然。”
GO TO FULL VERSION