如下代码定义了两个接口,接口里的方法名字一样
一个类实现了这个两个接口
我想知道 当这个类的对象在运行的时候 实现的时候那个接口? java 里面有没有什么方法可以判断当前对象运行的是那里继承或者实现的方法!!
package Test;interface A{
public void showName();
}
interface B{
public void showName();
}
class C implements A,B{
public void showName() {
System.out.println("这里怎么判断 showName方法是那个接口里面");
}
}
public class Test {
public static void main(String[] args){
C c=new C();
c.showName();
}
}

解决方案 »

  1.   

    我觉得他两个都实现了吧
    A a = new C();
    B b = new C();
    a.showName()和b.showName都应该输出吧
      

  2.   

    但是一般不要这样做。违背了接口的设计原则。至于为什么是a的你可以把鼠标移到那个implments的三角上,会有提示的。
      

  3.   

    我们诚恳地邀请大家加入到我们Java群组,热爱Java的同仁们,一起来探讨其中的难题和奥妙,每周我们会发出一个趣味性的小题目供大家探讨。也会继续上传JAVA连载教程,期待你们的加入! 
    群组地址:http://www.rjgc.net/uchome/space.php?do=mtag&tagid=73