欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Elements

最编程 2024-07-22 12:15:57
...
测试一个方法(作为给定类型的成员)是否覆盖另一个方法。 当非抽象方法覆盖抽象方法时,前者也被称为实现后者。

在最简单和最典型的用法中, type参数的值将只是直接包含overrider (可能重写方法)的类或接口。 例如,假设m1表示方法String.hashCode并且m2表示Object.hashCode 然后我们可以询问m1是否覆盖了m2类中的String (确实如此):

assert elements.overrides(m1, m2, elements.getTypeElement("java.lang.String"));
更有趣的情况下,可以通过下面的例子,其中在类型的方法来说明A不会型覆盖一个类似命名方法B
class A { public void m() {} }
interface B { void m(); }
...
m1 = ...; // A.m
m2 = ...; // B.m
assert ! elements.overrides(m1, m2, elements.getTypeElement("A"));
当作为第三类型的成员观看C ,然而,在该方法A并覆盖一个在B
class C extends A implements B {}
...
assert elements.overrides(m1, m2, elements.getTypeElement("C"));