java中接口上的注解和其接口方法上的注解为什么实现类不能继承?

2020-08-08 14:43发布

定义自定义注解

接口

接口实现类

实现类上获取不到其注解信息,那能在接口上的添加注解的意义何在呢?

3条回答
时光不老,我们不散
2楼-- · 2020-08-08 15:00

几位回答还暂时没有给出满意答案,根据我自己的理解可能存在一下几点考虑:

首先是注解实现的效果结论:

如果是接口类型:
实现类是继承不了接口上的注解信息的

原因可能是:1)接口上的注解信息其实就相当于一个标记,类似于java中的标记接口(Cloneable接口和Serializable接口),想利用这个信息,可以回溯到这个标记接口上来做文章?
2)如果实现类可以继承接口上的注解信息,因为java是支持单继承,多实现接口的,这样,实现类就可以继承多个接口上的注解,是不是就会造成实现类无法知道其本意只想继承其中的某些注解而造成歧义?是的编程变得复杂,可能还有其他方面的考虑什么的?自己瞎几把猜的,可能这涉及到java规范和jvm规范相关的考虑。

查看更多
再贱就再见
3楼-- · 2020-08-08 15:10

只对类继承生效的,接口不算。我感觉也很坑,,,不像c#那样表意明确。

查看更多
地球回转人心会变
4楼-- · 2020-08-08 15:20

是不能,不过你可以循环找上去来判断是不是有这个注解

查看更多
登录 后发表回答