0
    interface My{
        int x = 10;
    }
    class Temp implements My{
        int x = 20;
        public static void main(String[] s){
              System.out.println(new Temp().x);
        }
    }

这会将结果打印为 20。有什么方法可以访问属于类中接口的 x 吗?

4

2 回答 2

2

您需要对接口类型进行显式转换:

System.out.println(((My)new Temp()).x);

但是请注意,x它不绑定到My. 接口字段是隐式的staticfinal(更多的常量),这意味着上面可以使用:

System.out.println(My.x);
于 2015-07-13T18:45:08.017 回答
0

您可以随时使用它。

interface My {

    int x = 10;
}

class Temp implements My {

    int x = 20;

    public static void main(String[] s) {
        System.out.println(new Temp().x);        // 20
        System.out.println(My.x);                // 10
    }
}

an 的字段Interface总是static.

于 2015-07-13T18:50:21.707 回答