如果我们有一个从多个接口inheritance的类,并且接口具有同名的方法,那么我们如何在我的类中实现这些方法呢? 我们如何指定实现哪个接口的方法?
我正在用一个类的实例填充一个数组: BankAccount[] a; . . . a = new BankAccount[] { new BankAccount("George Smith", 500m), new BankAccount("Sid Zimmerman", 300m) }; 一旦我填充这个数组,我想以平衡量对它进行sorting。 为了做到这一点,我希望能够检查每个元素是否可以使用IComparablesorting。 我需要使用接口来做到这一点。 到目前为止,我有以下代码: public interface IComparable { decimal CompareTo(BankAccount obj); } 但我不确定这是否是正确的解决scheme。 任何build议?
我有一个通用的接口 public interface Consumer<E> { public void consume(E e); } 我有一个类消耗两种types的对象,所以我想要做一些事情: public class TwoTypesConsumer implements Consumer<Tomato>, Consumer<Apple> { public void consume(Tomato t) { ….. } public void consume(Apple a) { …… } } 显然我不能那样做。 我当然可以自己实施调度,例如 public class TwoTypesConsumer implements Consumer<Object> { public void consume(Object o) { if (o instanceof Tomato) { ….. } else if […]
对于我的新的宠物项目,我有一个devise问题,这已经决定了,但我也想要一些其他的意见。 我有两个类(简体): class MyObject { string name {get;set;} enum relation {get;set;} int value {get;set;} } class MyObjectGroup { string name {get;set;} enum relation {get;set;} int value {get;set;} List<MyObject> myobjects {get;set;} } 后来在项目MyObjectGroup和MyObject应平等使用。 为此,我可以采取两种方式: 创build一个接口: IObject 创build一个抽象类: ObjectBase 我决定去接口的方式,我以后在代码中不能每次都写ObjectBase而只是为了方便而使用IObject ,但是这样做还有什么其他的IObject呢? 其次,如何在整个故事中添加IXmlSerializable ? 让接口从IXmlSerializableinheritance,还是在抽象基类中实现IXmlSerializable有更多的IXmlSerializable ?
通常我们使用 @interface interface_name : parent_class <delegates> { …… } @end 方法在.h文件和.m文件中,我们综合了在.h文件中声明的variables的属性。 但是在一些代码中,@interface ….. @ end方法也保存在.m文件中。 这是什么意思? 他们有什么区别? 同时给出一些关于.m文件中定义的接口文件的getter和setter的信息… 提前致谢
大多数OO语言都是用大写字母I来表示它们的接口名称,为什么Java不这样做呢? 没有遵循这个惯例的理由是什么? 为了演示我的意思,如果我想要一个用户界面和一个用户实现,我会在Java中有两个select: Class = User,Interface = UserInterface Class = UserImpl,Interface = User 在大多数语言中: Class = User,Interface = IUser 现在,你可能会争辩说,你总是可以为用户实现select一个最具描述性的名字,问题就会消失,但是Java将POJO方法推向了事物,大多数IOC容器都广泛地使用了DynamicProxies。 这两件事意味着你将有一个单一的POJO实现的接口。 所以,我想我的问题归结为: “是否值得遵循更广泛的接口命名约定,特别是鉴于Java框架似乎在哪里?
在Java中devise并发线程时,使用Runnable和Callable接口有何区别,为什么要select一个呢?
我遇到了一些麻烦,如何在接口中定义构造函数。 我可能完全误解了一些东西。 但是我已经search了很长一段时间的答案,我找不到与此相关的任何内容。 如何在TypeScript类中实现以下接口: interface MyInterface { new ( … ) : MyInterface; } Anders Hejlsberg在本video中创build了一个包含类似内容的界面(大约14分钟)。 但是对于我来说,我不能在课堂上实现这一点。 我可能误解了一些东西,我没有得到什么? 编辑: 澄清。 与“新(…)”我的意思是“任何事情”。 我的问题是,我无法得到这个工作的最基本的版本: interface MyInterface { new () : MyInterface; } class test implements MyInterface { constructor () { } } 这不是我编译我得到“类'testing'声明接口'MyInterface',但没有实现它:types'MyInterface'需要一个构造签名,但types'testing'缺乏一个”试图编译它。 编辑: 所以在研究了这一点之后再给予反馈。 interface MyInterface { new () : MyInterface; } class test implements MyInterface […]
我有一个现有的项目使用@Override 接口方法,而不是超类方法的方法@Override。 我不能在代码中改变它,但是我希望Eclpse停止抱怨注释,因为我仍然可以使用Maven构build。 我将如何去禁用这个错误? 注意:由于项目需求,我需要为Java 1.5进行编译。
我正在阅读“Java教程”(第二次)。 我刚刚通过Interfaces(再次)的一节,但仍不明白Java接口如何模拟多重inheritance。 有没有比书中更清楚的解释?