如果有两个接口有个相同的事件,那我实现的时候怎么区分呢?比如interface X1
{
   void show();
}
interface X2
{
   void show();
}class TestInterface implements X1,X2
{
  void show()
  {
    //实现
  }
}

解决方案 »

  1.   

    编译都不能通过,说你继承的第二个接口的show()方法不可见。
      

  2.   

    也就是这样的两个接口,不能用同一个class实现
      

  3.   

    C#可以区别,Java不行。编译器不允许你这样做。会报方法不明确异常
      

  4.   

    呵呵好像是不能编译那我这样做是不是没什么意思呢?
    interface IX1
    {
    void show();
    void pop();
    }interface IX2
    {
    void show();
    void push();
    }interface IY extends IX1,IX2
    {
    void list();
    }class  TI implements IY
    {
    public void list()
    {
    //实现list
    }
       public void show()
    {
    //实现show?????????????
    }
    public void pop()
    {
    //实现pop
    }
    public void push()
    {
    //实现push
    }
    }class TestI
    {
    public static void main(String[] args) 
    {
    TI ti = new TI();
    }
    }
      

  5.   

    楼主自己试试下面代码,放4个文件里编译试试,没任何问题!!!
    public interface IF1 {
    void test();
    }public interface IF2 {
    void test();
    }public class IFimpl implements IF1, IF2 {
    public void test() {
    System.out.println("test()");
    }
    }public class IFtest {
    public static void main(String[] args) {
    IF1 t1 = new IFimpl();
    t1.test();
    IF2 t2 = (IF2) t1;
    t2.test();
    }
    }
      

  6.   

    这样是没有问题,但是这样没有办法对不同的接口有不同的实现。只是IFimpl以相同的方式实现了IF1, IF2,可能不是楼主想要的效果吧
      

  7.   


    一楼说的也不对啊,编译可以通过 啊 没有报错 但不知道是实现的那个接口的show()方法 
      

  8.   

    接口可以作为一种引用类型来使用,接口是java多态性的一种表现。任何实现该接口的类的实例都可以储存在该接口类型的变量中,通过这些变量可以访问类所实现的接口中的方法。java运行时系统动态地确定该使用那个类的方法!
      

  9.   

    public interface IF1 {
        void test();
    }public interface IF2 {
        void test();
    }public class IFimpl implements IF1, IF2 {
        public void test() {
            System.out.println("test()");
        }
    }public class IFtest {
        public static void main(String[] args) {
            IF1 t1 = new IFimpl();
            t1.test();
            IF2 t2 = (IF2) t1;
            t2.test();
        }
    }
    完全正确
      

  10.   

    哈 这个问题!接口是设计的结果。  在java中团队合作是最重要的, 有了接口就好设计和实现 分离开了。  
      

  11.   

    当同时implement两个接口时,接口内不能有相同的方法类型+方法名,否则第二个接口内相同名字的方法不可见。
      

  12.   

    接口里面有相同的方法,就是当前的接口的方法
    interface X1
    {
       void show();
    }
    interface X2
    {
       void show();
    }class TestInterface implements X1,X2
    {
      void X1.show()
      {
        //实现
      }
    void X2.show()
      {
        //实现
      }}
    这应该是最简结的表达方式了