A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张文强 中级黑马   /  2012-5-31 10:27  /  2184 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

interface  A{
   int x = 0;
}
class B{
   int x =1;
}
class C extends B implements A {
   public void pX(){
      System.out.println(super.x);//对于父类的变量,可以用super.x来明确. 我想要得到接口中i的值该咋办
   }
   public static void main(String[] args) {
      new C().pX();
   }
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 刘伯阳 于 2012-5-31 10:35 编辑

接口中的成员变量必须是static funal 的~   所以 你接口中定义的应该是
interface  A{
   static final int x = 0;
}
  
然后静态的怎么用  你懂了吧 ...

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
interface  A{
   int x = 0;
}
class B{
   int x =1;
}
class C extends B implements A {
   public void pX(){
      System.out.println(super.x);
      System.out.println(A.x);//这样就可以啦!
   }
   public static void main(String[] args) {
      new C().pX();
   }
}
接口里面定义的都是成员变量都是静态的,直接类名调用就行啦

接口里面的常量
public static final  int x=0;
接口里面的方法都是
public adstract  方法名;

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
直接把这条语句System.out.println(super.x);改成System.out.println(A.x);就OK啦
回复 使用道具 举报
接口中的属性 都是public  static final的 ,你要访问直接用 接口名.属性名
回复 使用道具 举报
接口中定义成员变量都是静态的,final的,直接类名调用不就哦了吗
回复 使用道具 举报
接口中的成员都有固定修饰符。
常量:public static final
方法:public abstract
所以应该是:
interface  A
{
   static final int x = 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马