查询Java中的接口
说我有两个接口A和接口B:
public interface A { public int data(); } public interface B { public char data(); } 接口A有一个方法public int data()和接口B有一个方法public char data(). 当我在一些类C中实现接口A和B时,编译器给我一个错误.这是java中的缺陷吗?因为我认为这是我们不允许扩展多个类的主要原因之一,那么为什么我们允许在这个问题仍然存在的情况下实现多个接口? 解决方法
The Java Tutorials: Defining Methods – Overloading Methods州,
也,
两个实现的方法共享一个常用的方法签名(即data()),因此编译器不能区分两者,并且将具有满足两个接口契约的单一方法. 编辑: 例如, public class Foo implements IFoo,IBar{ public static void main(String[] args) { Foo foo = new Foo(); ((IFoo) foo).print(); ((IBar) foo).print(); } @Override public void print() { System.out.println("Hello,World!"); } } public interface IBar { void print(); } public interface IFoo { void print(); } 将输出, Hello,World! Hello,World! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |