有关java语法的一个小细节疑惑

tg008007x3 tg008007x3 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
interface A{
int x=10;
}
class B{
int x=11;
}
public class Test extends B implements A{
//public static int x=12;
public static void main(String[] args) {

System.out.println(x);//编译器报错,有歧义!编译器无法自动判断有限调用哪个

}
}
以上编译器为什么会报错呢?Test中的静态main方法只能看见自己静态的和父类以及接口中的一些静态量,这个时候应该直接打印10啊,为什么会报错呢?父类中的非静态变量和接口中的静态常量重复定义也没什么错啊?请问编译器是怎么思考,怎么判断的?希望知道的高手详细的说明下!谢谢!
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
tg008007x3
Java SE 62,620 成员 307,251 内容