当前位置: 首页 > 面试题库 >

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

竺国兴
2023-03-14
问题内容

我知道出于文档目的注释中的含义,但除此之外又意味着什么?(我通常只会在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()呼叫应被动态调度,并打印"Derived 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条注释将由编译器检查。



 类似资料:
  • 我不理解如何使这段代码在Java7中工作 这个符号在Java中到底是什么意思? 如果Java7不支持它,如何改变它,使它能够正常工作。

  • 问题内容: 下面是代码片段。 有人可以向我解释@符号在Java中的含义吗? 问题答案: 这是一个注释。 注释是元数据的一种形式。它们提供的程序数据不属于程序本身。注释对其注释的代码的操作没有直接影响。 注释确实会影响工具和库对待程序的方式,进而会影响正在运行的程序的语义。可以从源文件,类文件中读取注释,也可以在运行时从中读取注释。

  • 问题内容: 这是什么? 这是不时出现的关于JavaScript语法的问题的集合。这也是社区Wiki, 因此邀请所有人参与维护此列表。 为什么是这样? 堆栈溢出不允许搜索特定字符。结果,在搜索运算符和其他语法标记时,不容易找到许多问题。这也使得关闭重复项变得更加困难。下面的列表可以帮助解决此问题。 主要思想是链接到Stack Overflow上的现有问题,因此我们更容易引用它们,而不是复制ECMAS

  • 有人知道r中的^符号是什么意思吗? 下面是上下文:

  • 对于我的Java类,我需要在给定以下函数头的情况下创建一个函数体:

  • 我想知道在CSS中(~)是什么意思。 在visual studio中,使用此符号时会出现“意外字符序列”错误。这在CSS中的实际含义是什么。它是做什么的?