公告
财富商城
积分规则
提问
发文
2020-08-08 14:43发布
看我几分像从前
定义自定义注解
接口
接口实现类
实现类上获取不到其注解信息,那能在接口上的添加注解的意义何在呢?
几位回答还暂时没有给出满意答案,根据我自己的理解可能存在一下几点考虑:
首先是注解实现的效果结论:
如果是接口类型: 实现类是继承不了接口上的注解信息的
原因可能是:1)接口上的注解信息其实就相当于一个标记,类似于java中的标记接口(Cloneable接口和Serializable接口),想利用这个信息,可以回溯到这个标记接口上来做文章? 2)如果实现类可以继承接口上的注解信息,因为java是支持单继承,多实现接口的,这样,实现类就可以继承多个接口上的注解,是不是就会造成实现类无法知道其本意只想继承其中的某些注解而造成歧义?是的编程变得复杂,可能还有其他方面的考虑什么的?自己瞎几把猜的,可能这涉及到java规范和jvm规范相关的考虑。
只对类继承生效的,接口不算。我感觉也很坑,,,不像c#那样表意明确。
是不能,不过你可以循环找上去来判断是不是有这个注解
最多设置5个标签!
几位回答还暂时没有给出满意答案,根据我自己的理解可能存在一下几点考虑:
首先是注解实现的效果结论:
如果是接口类型:
实现类是继承不了接口上的注解信息的
原因可能是:1)接口上的注解信息其实就相当于一个标记,类似于java中的标记接口(Cloneable接口和Serializable接口),想利用这个信息,可以回溯到这个标记接口上来做文章?
2)如果实现类可以继承接口上的注解信息,因为java是支持单继承,多实现接口的,这样,实现类就可以继承多个接口上的注解,是不是就会造成实现类无法知道其本意只想继承其中的某些注解而造成歧义?是的编程变得复杂,可能还有其他方面的考虑什么的?自己瞎几把猜的,可能这涉及到java规范和jvm规范相关的考虑。
只对类继承生效的,接口不算。我感觉也很坑,,,不像c#那样表意明确。
是不能,不过你可以循环找上去来判断是不是有这个注解