小编spe*_*ed9的帖子

从类和接口重新继承静态字段

interface A {
    public static String name = "A";
}
interface B {
    public static String name = "B";
}
class X implements A { }
class Y extends X implements B { }
public void test_getField() {
    try {
        assertEquals(B.class.getField("name"), Y.class.getField("name"));
    } catch (NoSuchFieldException e) {
        fail("Got exception");
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么Y.class.getField("name")返回B.name而不是A.name?Java规范中有没有答案?

java reflection inheritance interface superclass

7
推荐指数
1
解决办法
122
查看次数

标签 统计

inheritance ×1

interface ×1

java ×1

reflection ×1

superclass ×1