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?
答案 0 :(得分:2)
您需要对接口类型进行显式强制转换:
System.out.println(((My)new Temp()).x);
但请注意,x
未绑定到My
的任何实例。接口字段隐式static
和final
(更多常量),这意味着上面的操作可以使用:
System.out.println(My.x);
答案 1 :(得分: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
}
}
<{1}}的字段始终为Interface