在Java中@符号是什么意思?

ViceVersa666444:

我知道在注释中出于文档目的是什么意思,但是除此之外呢?(我通常只会在Google上搜索,但结果中会显示每个非字母符号)

清扫器:

@符号表示Java注释。Java注释的作用是,它为变量,方法,类,接口或其他语言元素添加了特殊的属性。(可以在声明注释时进行配置)。向某事物添加注释时,程序的其他部分可以检查某事物是否具有注释。然后,它可以使用此信息来做他们需要的任何事情。

让我给你举一些例子:

@Override注解

public class SuperClass {
    public void someInterestingMethod() {
        System.out.println("Superclass!");
    }
}

public class DerivedClass extends SuperClass {
    public void someInterestngMethod() {
        System.out.println("Derived class!");
    }
}

当您这样做时:

SuperClass sc = new DerivedClass();
sc.someInterestingMethod();

someInterestingMethod()呼叫应被动态调度,并打印"Dervied class!",对吗?好吧,派生类的方法实际上是拼写错误的,因此DerivedClass得到了自己的单独方法someInterestngMethod()该方法与超类完全无关someInterestingMethod()这样,someInterestingMethod()不再被覆盖,并且将调用超类的实现。

@Override关键字是为了与此帮助。它向编译器传达了您的意图,即您希望带注释的方法是祖先类方法之一的重载。如果不是(例如在这种错字情况下,或者SuperClassAPI更改并重命名了方法),则将会使您的编译失败,以提醒您注意损坏的替代项。

@SuppressWarnings注解

这是一个方法:

public void someMethod() {
    int i;
}

将会有一个编译器警告说它i从未使用过。因此,您可以@SuppressWarnings在方法中添加禁止显示警告:

@SuppressWarnings("unused")
public void someMethod() {
    int i;
}

请注意,注释中有一个参数@SuppressWarnings一些注释具有参数,您可以在javadoc中查找它们。但是对于那些没有参数的对象,则不需要()像方法那样添加

您还可以声明自己的注释,并使用反射进行检查。上面的2条注释将由编译器检查。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章