【发布时间】:2020-02-28 09:09:36
【问题描述】:
我希望我选择了一个尽可能清晰的标题。 我有用自定义注释注释的类
@MyAnnotation
public class MyClass1 {
//...
}
@MyAnnotation
public class MyClass2 {
//...
}
我有另一个类,我想用两个同名的方法来丰富它: 一种方法只接受注解的类作为参数,另一种方法接受其他类作为参数
public class MyOtherClass {
public void myMethod(Object obj) {
//.....
}
public void myMethod (@MyAnnotation Object obj) {
// this method is applied for only classes annotated with @MyAnnotation
}
}
我知道public void myMethod (@MyAnnotation Object obj) 是一种错误的方式,我们不能将注释作为参数传递。但我想找到合适的方法来处理这种需求。
【问题讨论】:
-
为什么方法只能取带注解的类?使用接口代替注解不会达到同样的目的吗?
-
我认为注释是区分我的类的正确方法,特别是因为我目前不需要我的类的接口
-
这里更重要的问题是为什么? 为什么需要区分类?他们有什么不同?如果一组类确实可以做另一组不能做的事情,那么你需要一个接口。如果两组类实际上是相同的,那么您的方法可以同时接受它们。
标签: java annotations