一个类实现两个接口A和B,A中有方法public void m() {},而B中有方法public double m() {};在main函数中调用这个类的对象的m方法结果编译通不过,求高人解释..............

解决方案 »

  1.   

    类C实现的接口A、B。 C的一个对象 c,   c.m(); 你知道是调用哪个方法?看下重载
      

  2.   

    interface A
    {
    public void m();
    }
    interface B
    {
    public void m();
    }
    class ABC implements A,B{ @Override
    public void m() {
    // TODO Auto-generated method stub
    System.out.println("adad ");
    }

    }
    public class TestDemo {
    public static void main(String[] args){
    ABC abc=new ABC();
    abc.m();
    }}public void m() {},而B中有方法public double m() {};此处写的就不对,看看我上面的代码写的不是太规范,供参考,B中的m方法返回值类型不应该是double,后面也没括号
      

  3.   

    首先接口里只能声明方法,而不能实现它。
    比如类C继承了接口A,B。
    A有public void m();
    B有public double m();
    那么在C里就必须要实现这两个m方法,
    实现了以后调用自己也就不成问题了。
      

  4.   

    楼主可以这么想 如果我不关注返回值呢比如说 我可以int a = x.a();
    我也可以 x.a();
    这样调用 很明显java不会让你同时实现这两个类
      

  5.   


    java 只支持单继承 ,舍掉接口怎么实现a b两个类结合成c类?
      

  6.   

    实现时,标明实现那个接口的方法。
    interface A {
        public void m();
    }interface B {
        public double m();
    }class C implements A,B{
    @Override
    public void m() {}
    double B.m() {return 1.0;}
    }
      

  7.   

    interface Interface1 {
    void output();
    }interface Interface2 {
    public void output();
    }class Test {}class Test1 extends Test implements Interface1{
    public void output() {
    System.out.println("Interface1");
    }
    }class Test2 extends Test implements Interface2 {
    public void output() {
    System.out.println("Interface2");
    }
    }public class JiChengJieKouChongMing {
    public static void main(String[] args) {
    Test test1 = new Test1();
    ((Interface1) test1).output();

    Test test2 = new Test2();
    ((Interface2) test2).output();
    }
    }这样是否满足要求?