Java 为什么库使用注释?

Java 为什么库使用注释?,java,android,annotations,Java,Android,Annotations,我一直想知道为什么android支持库使用注释 我已经实现了一些常见的android库,比如ButterKnife,Reformation。然而,我在这些中看到了一个常见的行为。他们使用注释来 提供它们的功能。 我想知道为什么他们没有使用一些方法或接口来实现他们提供的功能,使用注释比这些有什么优势吗?注释基本上用于通知编译器一些操作。比如: @重写注释将通知编译器检查此方法是否被重写。编译器将检查条件是否已满,或者抛出异常 注释基本上用于通知编译器某些操作。比如: @重写注释将通知编译器检查此方

我一直想知道为什么android支持库使用注释

我已经实现了一些常见的android库,比如ButterKnife,Reformation。然而,我在这些中看到了一个常见的行为。他们使用注释来 提供它们的功能。
我想知道为什么他们没有使用一些方法或接口来实现他们提供的功能,使用注释比这些有什么优势吗?

注释基本上用于通知编译器一些操作。比如:
@重写注释将通知编译器检查此方法是否被重写。编译器将检查条件是否已满,或者抛出异常

注释基本上用于通知编译器某些操作。比如: @重写注释将通知编译器检查此方法是否被重写。编译器将检查条件是否已满,或者抛出异常

我一直想知道为什么android支持库使用注释

我已经实现了一些常见的android库,比如 黄油刀,改装。然而,我看到了一个共同的行为在这些。 它们使用注释来提供其功能

ButterKnife或改装使用的默认注释和特定注释有不同的用途。默认注释(如
@Override
@NonNull
@StringRes
@IntRes
)等)是告诉编译器代码的特定约束的一种方法

ButterKnife中的特定注释(如
@BindView
@OnClick
)用于代码生成。ButterKnife注释处理器将查找所有匹配的注释,并根据注释规则生成代码

我想知道为什么他们没有使用一些方法或接口来实现 他们提供的功能,使用有什么好处吗 这些上面有注释吗

它们可以像您所说的那样提供功能,但通常是通过使用反射来实现的,反射的性能成本很高,而且很难维护,更详细的细节。因此使用代码生成

我一直想知道为什么android支持库使用注释

我已经实现了一些常见的android库,比如 黄油刀,改装。然而,我看到了一个共同的行为在这些。 它们使用注释来提供其功能

ButterKnife或改装使用的默认注释和特定注释有不同的用途。默认注释(如
@Override
@NonNull
@StringRes
@IntRes
)等)是告诉编译器代码的特定约束的一种方法

ButterKnife中的特定注释(如
@BindView
@OnClick
)用于代码生成。ButterKnife注释处理器将查找所有匹配的注释,并根据注释规则生成代码

我想知道为什么他们没有使用一些方法或接口来实现 他们提供的功能,使用有什么好处吗 这些上面有注释吗


它们可以像您所说的那样提供功能,但通常是通过使用反射来实现的,反射的性能成本很高,而且很难维护,更详细的细节。因此使用了代码生成。

因为这是他们编写代码的方式。不清楚你在寻找什么样的答案,因为他们就是这么写的。不清楚你在寻找什么样的答案。