如果源的替代保留策略是运行时多态性如何工作

时间:2018-09-21 10:14:42

标签: java annotations polymorphism override

我知道从超类重写方法不过是runtime多态而已。

Oracle文档说@Override注释使用@Retention(value=SOURCE)。这意味着@Override注释将在我们编译代码时删除。

因此,我的问题是runtime多态实际上如何工作。它在编译时需要做任何事情吗?此处实际上会发生什么?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Override是一个注释,如果将其添加到不是覆盖的方法中,它将在编译阶段失败。它在编译阶段后没有任何用处,因此没有保留策略。多态性在运行时发生,并且与覆盖批注无关。