草庐IT

硬件接口

全部标签

php - 为什么 Laravel 几乎所有东西都有契约/接口(interface)?

我正在浏览Laravel的Illuminate,我注意到它几乎每个实现都有一个接口(interface)。这样做的确切目的是什么?它有任何当前用途,还是更多地使框架尽可能具有可扩展性? 最佳答案 在软件工程中,契约(Contract)比其实现更有值(value)。这里有几个原因:您可以测试依赖于接口(interface)的类,而不依赖于接口(interface)实现(接口(interface)实现本身可能有问题)。PHPUnit示例://Willreturnanobjectofthistypewithallthemethodsret

java - 接口(interface) I 不能用不同的参数多次实现 : I<String> and I<String>

我在eclipse中遇到问题,以下四行分布在相应的四个文件中:publicinterfaceI{}publicinterfaceISpecialextendsI{}publicclassBaseimplementsI{}publicclassSpecialextendsBaseimplementsISpecial{}Eclipse告诉我(只有我和其他少数人没有将相同的、稍微复杂的项目导入到他们的工作区中)TheinterfaceIcannotbeimplementedmorethanoncewithdifferentarguments:IandI发生这种情况是因为几天前我检查并安装了E

java - 如何访问Java中的硬件按钮

我有一个运行windows7的工业触摸屏平板设备(这个one)。它有一个集成的RFID/条形码扫描器和摄像头。两者都可以通过硬件按钮启动。我想知道,只要按下其中一个按钮。我用GlobalKeyEventListener编写了一个小型测试应用程序,但是当按下其中一个按钮时没有触发任何事件。所有正常的键盘事件都会被触发。有谁知道,是否以及如何在Java中访问这些类型的按钮事件?在告诉客户这是不可能的之前,我还应该尝试什么。谢谢。 最佳答案 将会有一些编程接口(interface)来监听这些按钮,并且不太可能连接到内置的Java虚拟机。我

java - 如果将 Number 作为接口(interface)实现,是否会产生问题?有好处吗?

在最近的一个问题中,我遇到了Number抽象类的使用。现在因为Java8在这里,有默认方法,所以Number可以一个接口(interface)并写成:publicinterfaceNumber{publicintintValue();publiclonglongValue();publicfloatfloatValue();publicdoubledoubleValue();defaultpublicbytebyteValue(){return(byte)intValue();}defaultpublicshortshortValue(){return(short)intValue()

java - 根据泛型接口(interface)的实现限制java中的泛型类型

所以我有2个通用接口(interface)。第一个接口(interface)是这样实现的。publicinterfaceFirst{voidmethod(Ee)}publicclassFirstImplimplementsFirst{voidmethod(Strings){System.out.println(s);}}publicclassFirstImpl2implementsFirst{voidmethod(Doubled){System.out.println(d);}}我需要第二个接口(interface)(第二个接口(interface)如下所示)的泛型类型以仅允许在实现第

java - 使用@annotations 来标记监听器方法而不是带有方法的接口(interface)是个好主意吗?

首先是的——这是主观的。我最近注意到一些库似乎在某些类中使用让用户标记监听器方法作为监听器使用不同的注释来记录不同的事件。Infinispan和WELD就是这种方法的例子。我讨厌这种模式的地方没有类型安全需要阅读doco以找出事件的正确类型签名,而不仅仅是实现。对于实现者来说,这会非常困惑,因为他们需要更多的支持代码来发现和验证提交的监听器类、保留该方法并分派(dispatch)它等。反射分派(dispatch)的东西使触发事件变慢。当然,可以使用ASM生成一个真正的类,但与触发一个简单的listener.onEvent相比,这需要做更多的工作...可能的原因使细粒度的监听器成为可能。

java - 用Java模拟低精度硬件

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我正在尝试为数字精度相当低的硬件设备(最好使用Java)编写一个模拟器,并且我正在寻找一个实现基本数学运算的库。具体来说,我需要一个实现二进制浮点运算的类,并允许用户设置尾数和指数的精度。(尾数可能是8或10位,指数可能是6或8位。)我看过各种用于高精度算术的包(Apfloat、jScience、ApacheCommons包中的Dfp类),但它们似乎都存在仅支持基数1

java - 具有反向关系的通用接口(interface)

我想创建两个具有反向关系的接口(interface)。publicinterfaceItem>>{publicCgetCategory();publicvoidsetCategory(Ccategory);}我不确定表达式CextendsCategory>是否正确是正确的,但至少没有编译错误。publicinterfaceCategory{publicListgetItems();publicvoidsetItems(Listitems);}IextendsItem发出警告Itemisarawtype.ReferencestoItemshouldbeparametrized.我试过了I

java - Eclipse 中的接口(interface)绑定(bind)

我在Eclipse(Helios)/STS中有以下代码,它在运行Java应用程序时运行并打印控制台输出,尽管存在明显的编译问题publicinterfaceITest{Stringfunc();}publicstaticclassTestimplementsITest{voidprintFunc(){System.out.println("InsideTestFunction");}}publicstaticvoidmain(String[]args){Testtest=newTest();test.printFunc();}任何人都可以查明此Eclipse功能背后的原因。注意:在外部

java - Java 8 默认接口(interface)方法上的 Spring Integration @ServiceActivator

我想在Java8默认接口(interface)方法上使用@ServiceActivator注释。此默认方法将根据业务规则委托(delegate)给此接口(interface)的另一个方法。publicinterfaceMyServiceInterface{@ServiceActivatorpublicdefaultvoidonMessageReceived(MyPayloadpayload){if(payload.getAction()==MyServiceAction.MY_METHOD){...myMethod(...);}}publicvoidmyMethod(...);}此接口