首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中来自静态上下文的多义性调用

Java中来自静态上下文的多义性调用
EN

Stack Overflow用户
提问于 2014-07-07 22:09:22
回答 2查看 805关注 0票数 17

main方法试图访问var,但导致调用不明确。为什么?Base1中的实例变量var不可访问(可见?)无论如何,从静态上下文中。

代码语言:javascript
复制
  class Base1 {
      int var;
  }

  interface Base2 {
      public static final int var = 0;
  }

  class Test extends Base1 implements Base2 { 
      public static void main(String args[]) {
          System.out.println("var:" + var); 
      }
  }
EN

回答 2

Stack Overflow用户

发布于 2014-07-07 22:26:45

要使其明确,请将接口名称作为限定前缀:

代码语言:javascript
复制
class Test extends Base1 implements Base2 { 

      public static void main(String args[]) {
          System.out.println("var:" + Base2.var); 
      }
 }
票数 3
EN

Stack Overflow用户

发布于 2014-07-07 22:36:16

在最初的步骤中,编译器将在您扩展的类和您实现的接口中查找变量var。因为它在第二步中在两个地方都找到了一个变量,所以它显示出多义性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24612590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档