本帖最后由 Neutrino23 于 2012-06-13 11:12:05 编辑

解决方案 »

  1.   

    2.那么如果B和C中存在方法签名相同但返回值类型不同的方法,A中应该如何实现呢?
    —— B和C的同名方法,必须参数有不一样才行,否则咋整都没用,编译通不过的。如果B和C中存在两个方法,方法名相同,参数列表不同,那么在A中分别实现的这两个方法也算是重载吗?
    —— 对A来说,就是同名方法重载。如果B和C中有重名的成员变量,那么A在实现B和C的时候两个同名的成员变量怎么办?
    —— B和C是接口,所定义的属性都只能是 final static,所以跟A实现的成员变量不冲突。
      

  2.   

    重载是在同一个类中。实现接口必须重写,跟重载没关系,重载可以一个类重载同一个类中的很多方法如果两个接口有一样的成员变量有什么关系呢?接口中定义变量必须是public static final类型的常量,值不能变直接可以用这些值啊比如B,C中都有public static final String D="d" ;
    在其他类中如果要使用D,直接B.D或者C.D就可以了
      

  3.   

    有的时候还是有关系的,就是我说的那种情况,如果接口B和接口C中存在两个方法,方法名相同,参数列表不同,那么在A中分别实现的这两个方法的话,也构成了重载。
      

  4.   

    假设variable_name就是B和C中重名的那个public、static、final变量,那么这个时候,我实例化一个A对象,A.variable_name是指哪个啊?
      

  5.   


    这种问题必然是以 ambiguous 错误收场啊