There is no way to implement what you want.If you implement this type() interface in you "test" class, 
all the type() method in your "inl" and "in2" have been implemented.So, Whatever you cast your "test" to either "in1" or "in2", the same type() method will be called.In fact, this doesn't conflict with Java Language Specification, since the type() method in "inl" and "in2" has same signature. And in runtime, the real method invocation is a late binding that will invoke your implemented code.

解决方案 »

  1.   

    那以后 interface 定义多了还要考虑函数不能重复?
    太麻烦了 唉!!!
      

  2.   

    在.net里面可以继续不同接口的相同方法。
    --- ZJQ
      

  3.   

    java里面没有多重继承,所以可以用接口见解实现多重继承。
      

  4.   

    wjmmml(笑着悲伤) :
    用接口见解实现多重继承
            ----------- 谢谢 这一点我已经知道了okyhc(超时) :
    自己写个试试不就可以了
            ----------- 你眼睛不好啊,我已开始不就贴了代码了吗
      

  5.   

    你写的接口为什么没有设为abstract,这样的话,你如果引用的接口有重复的话,一定会被发现的
    而不像你这两个接口,全部被重载了
      

  6.   

    谢谢 GFox(小狐) 的见解
    非常实际
      

  7.   

    这个问题很有趣!如果真是遇到这样的两个interface!那么只有想点另外的办法了.可以用一个抽象类来改写就ok了!
      

  8.   

    bonner(大脚指头)
    对阿
    问题是两个方法 名称,返回值,参数 都一样
    你又怎么分别详细的定义呢
    难道写两个 名称,返回值,参数 都一样 的方法 
    知道谁是谁啊
    :-/
      

  9.   

    多个interface不是C++中的多继承概念
    两个interface有相同的函数名有什么关系呢,
    java implements interface时只是规定了一个函数名而已,
    管他是那个接口的或是自己的当然,严格来讲这是不好的设计。
      

  10.   

    唉,算了这个问题在讨论下去也没什么意义了
    因为这本来就是一个没有意义的问题
    规范都定义好了 照做就行,何必那么麻烦呢
    只能说 Java 在这里还有一点缺陷,
    但并不影响 Java 的健壮