[英]Data hiding in interface java
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吗?
您需要对接口类型进行显式转换:
System.out.println(((My)new Temp()).x);
但是请注意, x
未绑定到My
任何实例。 接口字段是隐式static
和final
(更多常量),这意味着可以使用以下方法完成上述操作:
System.out.println(My.x);
您可以随时使用。
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
}
}
Interface
字段始终是static.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.