`

一个类实现多个具有相同方法的接口

阅读更多

       今天,我的一个同事突然间问我一个问题:“如果有一个类,实现了多个接口,这些接口里面有形同的方法,会出现什么情况?”。我感觉这个问题挺有意思(薄弱的java基础啊!),于是简单的写了几个接口和类,看看会有什么情况发生;

 

第一个接口的内容:

 

public interface Angel {
	public abstract void say();
	public abstract void work();
}

 

 第二个接口的内容:

 

public interface Devil {
	public abstract void say();
	public abstract void work();
}

 

 实现接口的类的内容:

 

public class People implements Angel, Devil {

	public void say() {
		System.out.println("我实现了谁的say()方法??");
	}
	
	public void work() {
		System.out.println("我实现了谁的work()方法??");
	}

}

 

 main()方法的内容:

 

public static void main(String[] args) {
		try {
			
			Angel angel = new People();
			angel.say();
			angel.work();
			
			Devil devil = new People();
			devil.say();
			devil.work();
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

 

 打印出的结果:

 

 

我实现了谁的say()方法??

我实现了谁的work()方法??

我实现了谁的say()方法??

我实现了谁的work()方法??

 

注:在People这个类中,按住alt键,点击say()方法或者work()方法,都无法定位到接口中。

分享到:
评论
1 楼 BuN_Ny 2012-03-09  
是我问的那个问题吗?我怎么会问这种问题呢。。。

相关推荐

    解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题

    主要介绍了解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    【05-面向对象(下)】

    但一个类可以直接实现多个接口,通过实现多个接口可以弥补 Java单继承的不足。 面向接口编程 •接口体现了规范与实现分离的原则。充分利用接口可以很好地提高系统的可扩展性和可维护性。 •接口与简单...

    在Vue 中实现循环渲染多个相同echarts图表

    主要介绍了在Vue 中实现循环渲染多个相同echarts图表,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    JAVA面试题最全集

    写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...

    java 面试题 总结

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 13、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    下例定义了一个 Point 类 ,并且声明了它的两个变量 x、y 坐标 ,同时实现 init()方法 对 x、y 赋初值 。 class Ponit { int x,y; void init(int ix, int iy){ x=ix; y=iy; } } 类中所定义的变量和方法都是类的...

    java api最新7.0

    java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器。 java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java...

    超级有影响力霸气的Java面试题大全文档

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 16、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)...

    JAVA_API1.6文档(中文)

    java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器。 java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 ...

    Java测试题4答案

    A、String类 B、StringBuffer类 C、Character类、D、以上都不对 三、判别题 1、 一个类可以生成多个对象,并且这些对象都具有相同的属性。( ) 2、 当运行javac命令对一个java源程序进行编译时,必须...

    net学习笔记及其他代码应用

    委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 5.override与重载的区别 答 : override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,...

    进销存系统文档作业例子

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 13、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的...

    c#学习笔记——学习心得

    一个方法的签名由它的名称以及它的形参的个数、修饰符和类型组成。方法的签名是方法的唯一标识(同一个类中的区别标识)。 方法的重载:是指方法名相同,但参数类型、个数或顺序不同的方法,与返回值无关(同一类或...

    Linux服务器下多网卡负载均衡的研究 (1)

    Linux 2.4.x的内核中采用了这种技术,利用bonding技术可以将多块网卡接口通过绑定虚拟成为一块网卡,在用户看来这个聚合起来的设备好像是一个单独的以太网接口设备,通俗点讲就是多块网卡具有相同的IP地址而并行连接...

    c#学习笔记.txt

    接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现。接口只指定实现该接口的类或接口必须提供的成员。接口可以是命名空间或类的...

    java面试题总结.docx

    重载指的是一个类中具有多个功能相似的函数。重写是指子类继承了父类的方法并且覆盖了子类的方法。 方法重载的规则: a.方法名一致,参数列表中的顺序,类型,个数不同 b.重载的方法与返回值无关 c.重载可以抛出不同...

    面向对象详解和JVM底层内存分析

    通过类,你可以创建多个具有相同特征和行为的对象。例如,"汽车"是一个类,而每辆具体的汽车则是该类的实例。 封装: 封装是面向对象编程的重要特征,它将数据和操作数据的方法捆绑在一起,并对外部隐藏对象的内部...

    股票行情P2P全推接口

     P2P所采用的数据传输方式是用户和用户之间相互连接,一个用户一般和多个其他用户相连接,本接口一般可以和10个其他用户相连接,这样,即使10个其他用户中部分用户的数据传输出现问题,也不会影响到你的数据接收,...

    Java面向对象程序设计(“方法”相关文档)共57张.pptx

    成员方法即类的行为(对数据的操作) 例4.2.1:声明一个日期类Date1 public class Date1 { int year,month,day; //成员变量 public void today( ) { //成员方法 System.out.println("Date is"+year+"/"+month+"/"+...

    java基础.txt

    重载overload的特征:在同一个类中同一个方法名,参数列表不同(个数,顺序,类型) this:关键字,对本类对象的引用,可以调用本类的属性和方法 this(); 对本类对象构造的调用,如果有参则调用有参构造 而且...

Global site tag (gtag.js) - Google Analytics