草庐IT

human-interface-guidelines

全部标签

java - 从 Java 类中提取接口(interface)的自动化方法

我有一组定义API的具体类,我想从API的实际实现中提取这些类的接口(interface)(即:本质上是类型层次结构和公共(public)方法)。例如,如果API中的公共(public)类之一是publicclassFooextendsBar{/*somefieldswhichIdon'tcareabout*/publicvoidmethod(){/*implementationhere*/}publicvoidotherMethod(){/*implementationgoeshere*/}/*somenonpublicmethodswhichIdon'tcareabout*/}我想

java - 接口(interface)和@RequestBody

我目前正在开展一个项目,该项目允许用户(通过网络)在给定时间段内预订所选资源的使用。在这个程序中,我试图遵循Spring的接口(interface)编程理念(以及一般的最佳实践),因此我尝试在具体类之间重复功能的任何地方使用接口(interface)。我创建的一个接口(interface)称为BookableResourceController,它指定Controller处理要预订的任何类型资源所需的最低功能所需的方法。我还使用了第二个接口(interface)BookableResource,它标识哪些对象为允许通过应用程序预订的资源建模。我目前遇到的问题是BookableResou

java - 你能强制一个 java 对象在运行时实现一个接口(interface)吗?

现在我有以下几点:1)一个java接口(interface)。2)不实现上述接口(interface),但实现包含与接口(interface)中定义的每个方法相匹配的方法签名的具体java类。由于我无法更改第2项的实现,我想知道是否可以创建一个方法,该方法接受第1项的实例作为参数接受第2项,而不会发生类转换异常。感觉Spring中的各种编织/强制/AOP机制应该使这成为可能,但我不知道该怎么做。有什么办法可以做到这一点吗? 最佳答案 Canyouforceajavaobjectintoimplementinganinterfacea

java - 泛型接口(interface)方法签名 "incorrect"

我很难想出这个标题,所以请原谅我。我有一个具有以下方法的接口(interface):publicinterfaceAlgorithm{publicSet>map(intnumPartitions);publicFreduce(Set>partitions);}和一个实现Algorithm的类使用以下方法:publicclassLinearSearchimplementsAlgorithm,Integer>{@OverridepublicSet>map(intnumPartitions){returnnull;}@OverridepublicIntegerreduce(Set>parti

java - 哪里用callable,哪里用Runnable接口(interface)?

我是Java的新手,我正在经历多线程的概念,在经历使用多线程的各种实现时,我经历了这两个概念。这ThedifferencebetweentheRunnableandCallableinterfacesinJava问题指定两者之间的区别以及使用位置。我的疑问是,如果Callable能够完成Runnable的所有工作,为什么那么多人使用Runnable而不是callable?与Runnable接口(interface)相比,实现Callable接口(interface)是否有额外的开销? 最佳答案 之前有java.util.concur

java - 将接口(interface)的实现者强制为枚举

我想在一个集合中存储一个名为App的类型。App需要是一个实现了App接口(interface)的枚举。SetmyApps;我已经这样定义了接口(interface)......interfaceApp>{}这几乎可以工作,例如,你不能这样做......classMyClassimplementsApplication{}但是,你可以这样做......enumMyEnumimplementsApplication{}classMyclassimplementsApplication{}这是错误的。我只希望枚举能够实现这个接口(interface),我该如何强制执行?

Java 接口(interface) : Inheriting, 覆盖和重载方法

在KenArnold、JamesGosling、DavidHolmes的“THEJava™ProgrammingLanguage,FourthEdition”中提到:段落:(4.3.2)“类似地,如果一个接口(interface)继承了多个具有相同签名的方法,或者如果一个类实现了包含具有相同签名的方法的不同接口(interface),则只有一个这样的方法。这个方法的实现最终由实现接口(interface)的类,那里没有歧义。如果方法具有相同的签名但返回类型不同,则其中一个返回类型必须是所有其他返回类型的子类型,否则会发生编译时错误。实现必须定义一个返回该公共(public)子类型的方法

java - 使用 Java 中的组合和接口(interface)进行设计

我针对一个问题设计了以下内容:classAnimal{//...}classGuppyextendsAnimal{...}classPigeonextendsAnimal{...}classTailedAnimalextendsAnimal{//...}classDogextendsTailedAnimal{...}classCatextendsTailedAnimal{...}classHornedAnimalextendsAnimal{//...}classRamextendsHornedAnimal{...}publicstaticvoidmain(String[]args){A

java - 匿名扩展一个类并同时实现一个接口(interface)?

假设我有一个名为Interface的接口(interface)和一个名为Base的具体类,为了让事情变得更复杂,它有一个需要一些参数的构造函数。我想创建一个匿名类来扩展Base并实现Interface。有点像Interfaceget(){returnnewBase(1,"one")implementsInterace(){};}我觉得这很合理,但行不通!(P.S:实际上,Interface和Base也是泛型类:D。但我暂时忽略它) 最佳答案 不,你不能用匿名类来做到这一点。如果你真的想的话,你可以在一个方法中创建一个命名类:clas

java - 接口(interface),如果不是所有实现都使用所有方法怎么办?

我对接口(interface)编程还很陌生,我正在努力将其作为开发测试驱动的主要工具。目前我们有很多管理器类都实现了一个CRUD接口(interface)。然而,有些管理器还没有更新,有些还没有删除,有些可能永远不会这样做。未实现异常?可以吗,只是thrownewNotImplementedException()直到该方法被实现,或者如果它永远不会实现,甚至永远?(显然有源代码注释告诉程序员“不应使用此方法,例如‘男性’‘女性’等类型永远不会被删除)?split?或者我应该将我的CRUD界面拆分为可创建、可读(可搜索)、可更新和可删除?这不会扰乱我的类定义吗?PersonManager