草庐IT

INTERFACE

全部标签

java - CGLIB 无法拦截父类(super class)/超接口(interface)中的方法

可能是我想得不够认真,或者答案真的难以捉摸。快速场景(尝试代码。编译)。考虑一个遗留接口(interface)publicinterfaceLegacyInterfaceNoCodeAvailable{voidlogInfo(Stringmessage);}考虑上述接口(interface)的遗留实现publicabstractclassLegacyClassNoCodeAvailableimplementsLegacyInterfaceNoCodeAvailable{publicabstractvoidexecuteSomething();publicvoidrockItOldSch

java - 这段代码中嵌套接口(interface)有什么用

我已经通过以下链接WhywouldastaticnestedinterfacebeusedinJava?.在我的代码库中我有:publicinterfaceI1{publicstaticinterfaceI2{publicvoiddoSomething();}//someothermethodspublicvoidmyMethod(I2myObject);}并且在不同包中的其他一些类中:publicabstractclassSomeClassimplementsI2{//mandatorymethod...}现在,我的问题是-“将I2放在I1中真的是一个好的设计吗?编辑:publici

java - 使用默认方法与抽象类的接口(interface),动机是什么?

上下文我最近遇到了这个C#提案defaultinterfacemethods我已经阅读了规范和更重要的是动机。可能我错过了什么,但动机有点让我讨厌。接口(interface)和完全抽象类之间的唯一实际区别是future的类可以实现(因此是[ISA])多个接口(interface),但可以继承(因此是[ISA])仅来自一个抽象类,(以及所有后果)我不清楚抽象类和具有默认方法的接口(interface)之间的确切区别是什么现在,除了我们可以使用默认方法将多重(实现)继承带入画面,这对于抽象类是不可能的。(我不想打开问题/讨论是好是坏,这不是这里的主题)不过讲的动机完全不同,三点:“...A

java - 避免在基于通用工厂的 MVP 框架中进行强制转换

我试图在MVP模式中实现一种将View和Presenter解耦的方法,以提供一个框架,它正是这样做的,但后来我感到困惑。背景我有一个连接演示者的通用类型的View界面,​​反之亦然。这些接口(interface)将由实现开发人员扩展。这个问题对具体接口(interface)不感兴趣,但它们的类定义如下所示:publicinterfacePresenter和publicinterfaceView这个想法是View和Presenter都知道相反的接口(interface)。为了使用这种结构,开发人员应该提供一个工厂,实例化他想要显示的View和处理这个View的演示者。他将它们都交给了一个

java - 测试在 Java 中实现接口(interface)的所有类

是否有任何东西(特别是针对Java)可以让您自动测试接口(interface)的行为?例如,假设我有一堆针对Comparable接口(interface)的测试,它们应该适用于任何实现Comparable的东西。我想要的是能够在我的任何实现Comparable的类的测试装置中自动包含“ComparableTests”。如果这适用于通用接口(interface),则加分。我知道.NET框架mbUnit有类似的东西,当你使用像TestNG的生成器函数这样的东西时,你可以为Comparable设置一个测试夹具,并让生成器为你的每个实现Comparable的类创建一个实例。但我宁愿它是自动的,

java - 使用 Guava 10 的谓词和函数接口(interface)与 GWT 2.4.0

GWT2.4.0和GuavaGWT10.0.1是否支持Predicate和Function?两个接口(interface)都标记为@GwtCompatible。在调试托管模式下运行项目时,我在使用Predicate时收到运行时验证错误:[ERROR][MyProject]-LineXXY:Theimportjavax.annotation.Nullablecannotberesolved[ERROR][MyProject]-LineYYY:Nullablecannotberesolvedtoatype从其他StackOverflow帖子来看,我认为这些错误不应该要求在Guava版本09

java - 不使用注解参数的Hibernate接口(interface)映射 "targetEntity"

我最近试图为我的一些hibernate映射实体引入接口(interface),但不知道如何配置映射。当我在没有任何进一步声明的情况下使用接口(interface)时,我总是得到以下异常:org.hibernate.MappingException:Couldnotdeterminetypefor:...MyInterface然后当我明确定义targetEntity时,我发现一切正常:@OneToOne(targetEntity=InterfaceImpl.class)privateMyInterfacemyInterface;不幸的是,这个解决方案在我的情况下不起作用:我无法通过注释定

java - 有没有一种特定的方法可以将父类(super class)的某些功能赋予某个子类?

问题我正在尝试创建一个应用程序,其中的对象类可以实现一些来自可用操作总池的操作。最终目标是没有任何代码重复,并尽可能遵守OOP法则。更详细地说,我正在尝试使用Lucene制作一个搜索引擎。卢森使用许多索引。我已经实现了一个简单的结构,其中不同的索引对象继承父类的方法。问题是,无论在该父类中实现什么方法,它都会自动可供所有子类使用。我想为用户提供选项,以确定他是否想进行短语搜索、术语搜索或任何其他可用于that特定索引的内容。问题是,例如,某些索引不应提供进行短语搜索的选项。最初的想法我想过实现一些接近复合模式的东西,正如GoF所描述的那样。我会将搜索操作(例如术语搜索、短语搜索)实现为

Java ORM : Multiple (interface) inheritance

我想使用Java的ORM框架之一将域模型映射到关系数据库。不幸的是,它们似乎都没有充分支持实现多个接口(interface)的类。假设我想映射如下内容:publicinterfaceQuotable{}publicinterfaceTradable{}//StockIndexonlyimplementsQuotableasitcannotbetradedirectlypublicclassStockIndeximplementsQuotable{}//Stockimplementsbothinterfacesastherearemarketquotesandcanbetradedpub

java - 为什么在 Collection 中声明的方法也在 List Interface 中重复?

这个问题在这里已经有了答案:Interfacesincollectionsframework(3个答案)关闭9年前。是否有任何特定原因(除了下面提到的)为什么在java.util.Collection中声明的所有方法在java.util.List接口(interface)中重复?根据java.util.ListAPI:TheListinterfaceplacesadditionalstipulations,beyondthosespecifiedintheCollectioninterface,onthecontractsoftheiterator,add,remove,equals,