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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我能驾驭住 中级黑马   /  2012-5-22 18:00  /  965 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

interface  A
{
   int x = 0;
}
class B
{
   int x =1;
}
class C extends B implements A
{
   public void pX()
{
      System.out.println(x);
   }
   public static void main(String[] args)
{
      new C().pX();
   }
}
接口中的成员都是public访问类型的。用implements去实现一个接口中的所有方法;
郁闷啊,谁能带一次流程,走一遍...:'(

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

正序浏览
蒋映辉 发表于 2012-5-22 18:16
你同时继承了A,B  而且两个里边都有x   C里边的X到底代表哪个呢?
interface  A
{

哦,我明白了,感恩
回复 使用道具 举报
这个编译通过不了的,2个都有X,编译器不知道你要打出哪个X,
就好像你定义了一个方法
public void printlnX()
{
      int  x = 5;
      int  x = 6;
      sop(x);
}
就像这个一样,你还没到打印知道第二句 int x赋值时候就已经报错了
回复 使用道具 举报
本帖最后由 蒋映辉 于 2012-5-22 18:18 编辑

你同时继承了A,B  而且两个里边都有x   C里边的X到底代表哪个呢?
interface  A
{
   int x = 0;
}
class B
{
   int x1 =1;
}
class C extends B implements A
{
   public void pX()
{
      System.out.println(x1);
   }
   public static void main(String[] args)
{
      new C().pX();
   }
}

或者
interface  A
{
   int x = 0;
}
class B
{
   static int x =1;
}
public class Test extends B implements A
{
   public void pX()
{
      System.out.println(B.x);
      System.out.println(A.x);
   }
   public C void main(String[] args)
{
      new C().pX();
   }
}


评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马