草庐IT

NVAPI_INTERFACE

全部标签

java - 如何在Java中使用单应方法实现接口(interface)?

在英语中,同形异义词对是拼写相同但含义不同的两个词。在软件工程中,一对单应方法是两个名称相同但要求不同的方法。让我们看一个人为的例子,使问题尽可能清楚:interfaceI1{/**return1*/intf()}interfaceI2{/**return2*/intf()}interfaceI12extendsI1,I2{}我该如何实现I12?C#hasaway这样做,但Java没有。所以唯一的办法就是破解。如何使用反射/字节码技巧/等来完成最可靠(即它不必是完美的解决方案,我只想要最有效的解决方案)?请注意,一些我无法合法逆向工程的现有闭源大量遗留代码需要类型为I12的参数。并代表

java - 使用 Mockito 模拟接口(interface)

有人可以帮我解决下面的Mock对象吗?我想为ServiceImpl类编写一个模拟测试用例。我想模拟OrderIF接口(interface):publicinterfaceOrderIF{ListordersFor(Stringtype);}服务的实现是:publicclassServiceImplimplementsService{privateListorders;privateOrderIForderif;//thisis3rdpartyinterfacepublicintgetval(Stringtype){//somecode//thisreturnsalistofobject

Java - 当返回类型对自己的方法参数类型使用泛型时覆盖扩展接口(interface)的返回类型

我偶然发现了对java继承的好奇心,我希望你能就此提出更好的想法:假设有两个接口(interface)A和A1接口(interface)A1扩展A接口(interface)A有一个返回泛型类型的方法。通用类型类似于GenericType.现在的一个基本想法是将这个通用返回类型从GenericType在接口(interface)A中GenericType在A1界面一开始似乎很容易(坏事会在后面发生)我们像这样声明接口(interface)ApublicinterfaceInterfaceA{publicGenericTypegetAGenericType();}和接口(interface

Java接口(interface)抛出异常最佳实践

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我正在定义一个新的接口(interface)API...诚然这不是我经常做的事情。我想定义接口(interface)方法来抛出异常,以便为实现者提供一些灵active。然后他们可以选择抛出一个Exception,抛出一个更具体的Exception子类,或者什么都不抛。我读过几次,虽然允许实现类的这种灵active很好,但用“throwsException”定义接口(interface)方法

java - Java 函数式接口(interface)的单例作为枚举

在查看Comparators类的源代码时,我遇到了这些代码行。classComparators{//...enumNaturalOrderComparatorimplementsComparator>{INSTANCE;@Overridepublicintcompare(Comparablec1,Comparablec2){returnc1.compareTo(c2);}@OverridepublicComparator>reversed(){returnComparator.reverseOrder();}}//...}我想我明白这是做什么的。它是一个实现Comparator接口(i

java - 用 jackson 反序列化 List<Interface>

我想将json反序列化为Foo类:classFoo{Listbars;}interfaceIBar{...}classBarimplementsIBar{...}IBar有两个实现,但是在反序列化时我总是想使用第一个实现。(理想情况下,这应该使问题更容易,因为不需要运行时类型检查)我确信我可以编写自定义反序列化器,但我觉得一定有更简单的方法。我找到了这个注释,它在没有列表的情况下工作得很好。@JsonDeserialize(as=Bar.class)IBarbar;Listbars;//Don'tknowhowtousetheannotationhere.

Java 注释处理器 : Check if TypeMirror implements specific interface

我正在使用Java注释处理器。我的注释@foo用于标记可以在运行时读取到文件或从文件中读取的字段变量。但是,我想在编译时检查变量类型是否实现了Serializable,这样如果该字段不可序列化,我可以在编译时给出警告/错误。(我不需要实际检查对象是否可序列化,如果它实现了Serializable接口(interface),我会相信它)。我已经想出了如何做其他的事情,但我不知道如何检查元素是否实现了Serializable。我可以使用TypeElement#getInterfaces方法,但我不知道如何检查返回的这些TypeMirror是否是Serializable.另外,如果有人碰巧知

java - 从基类继承的接口(interface)是否应该在子类中显式实现?

我的问题是,如果通过扩展已经实现它的类隐式实现的接口(interface)应该由该类显式实现,如果该类想要宣传它履行该接口(interface)的契约这一事实。例如,如果你想写一个类,它满足接口(interface)java.util.List的约定。您实现它,扩展类java.util.AbstractList,它已经实现了接口(interface)List。您是否明确声明您实现了List?publicclassMyListextendsAbstractListimplementsList还是使用隐式方式来节省输入?publicclassMyListextendsAbstractLis

java - 接口(interface)有 toString 方法吗?

这个问题在这里已经有了答案:DointerfacesinheritfromObjectclassinjava(9个回答)DoesaninterfacebydefaultextendObject?[duplicate](3个答案)关闭5年前。如何使用没有toString方法的接口(interface)Test的引用变量调用toString方法?interfaceTest{voidshow();StringtoHi();}classDemoimplementsTest{publicvoidshow(){System.out.println("Show");}publicStringtoSt

java - 转换为未实现的接口(interface)编译

我不确定我是否理解下面第1行的代码?interfaceTalkable{}classDevice{}classPhoneextendsDeviceimplementsTalkable{}Talkabled=(Talkable)newDevice();//line1Talkablep=newPhone();//line2我理解line2,因为Phone实现了Talkable,但是Device和Talkable没有关系,line1怎么合法? 最佳答案 编译器接受它的原因在JLSsection5.5.1中解释。(相关部分加粗):Given