interface I1
{
    void get();
}
interface I2
{
    void get();
}
假如有一个类要实现上面两个接口中的方法
要怎么才能顺利的调用到

解决方案 »

  1.   

    写一个void get(){}方法就同时满足了两个接口的要求,ok
      

  2.   

    无论是哪个类同时实现了I1和I2,void get()的实现都只有一个,所以不存在I1的get()和I2的get()之分。实际应用中应避免在不同的接口中定义同名的方法。
      

  3.   

    http://nptclick.nptcn.net.cn:9000/4/508148http://nptclick.nptcn.net.cn:9000/7/508148http://nptclick.nptcn.cn:9000/6/508148http://nptclick.nptcn.cn:9000/5/508148http://nptclick.nptcn.net.cn:9000/3/508148http://nptclick.nptcn.net.cn:9000/2/508148
      

  4.   

    这是对的interface I1 

        int get(); 

    interface I2 

        void get(); 

    如果是不同返回类型的,就无法同时实现这两个接口了
      

  5.   

    好像内部类可以这样:interface I1 

        void get(); 

    interface I2 

        void get(); 

    public class MultiInter implements I1{    public void get(){
       System.out.println("I am from I1");
    }

    private class I2Impl implements I2{
         public void get(){
       System.out.println("I am from I2");
    }
    }
    public void get2(){
        I2 i2=new I2Impl();
    i2.get();
    }
    public static void main(String rsg[]){
        MultiInter mi=new MultiInter();
    mi.get();
    mi.get2();
    }
    }
      

  6.   

    我在c#中可以实现两个接口中的相同方法
    并且可以清晰的调用它们两个方法
    难道java中不能实现吗
      

  7.   

    恩  内部类就能满足需求  不过最好还是避免这种写法 
    Java自带的接口不会出现这种问题 自己定义的接口要注意
      

  8.   

    好像也只能用
    内部类了
    那么说起来java比c#的功能差些吗
      

  9.   

    在java中最好避免重复方法或类
      

  10.   

    类里写一个get方法就行。和一般情况一样。
      

  11.   

    理论上,应该同名的方法,表达同一个意义的行为,比如说release()难道走两个release?
    当然走一个就OK了。C#的语法确实NB,想到了这种情况,于是可以搞更清晰的语义了。
      

  12.   

    先谢谢你们来回复我只是单纯的想知道
    是否java可以这样做
      

  13.   

    到底是c#好还是Java好啊~犹豫不决~
      

  14.   

    无解,这个问题JavaEye上好多高手已经讨论过了。
      

  15.   

    如果方法体内的都 一样的话,就一样了,呵呵http://bbs.tsp2c.cn/?fromuid=136 可以参考下
      

  16.   

    最近我也遇到了这个问题大哥们,你要知道接口方法重名是很正常的啊。你自己写的就说能保证不重名,但是如果你是实现了两个第三方的接口呢?难道这两个公司提供的接口还要协商大家的接口方法不能重名吗???这点不能不说JAVA真不行,连比C#更早的DELPHI都支持区分不同接口的同名方法