草庐IT

Interface1

全部标签

Java - 传递接口(interface)类型的ArrayList

我有一个Damageable接口(interface),如下所示publicinterfaceDamageable{publicvoidhandleCollision(floatimpulse);}一个实现这个接口(interface)的类,BaseObjectpublicclassBaseObjectimplementsDamageable现在在第三堂课中,我有一个BaseObject类型的ArrayListpublicclassObjectManager{publicArrayListbodies;我想做的是将ArrayList主体传递给另一个接受ArrayList的类的方法pub

java - 如何创建抽象类和接口(interface)的对象

如何创建抽象类和接口(interface)的对象?我知道我们不能直接实例化抽象类的对象。 最佳答案 您不能实例化抽象类或接口(interface)-您可以实例化它们的子类/实现者之一。这种事情的例子在Java集合的使用中很典型。ListstringList=newArrayList();您正在使用接口(interface)类型List作为类型,但实例本身是一个ArrayList. 关于java-如何创建抽象类和接口(interface)的对象,我们在StackOverflow上找到一个类

java - 具有通用 throw 子句的 Lambda 和功能接口(interface)

考虑这段java8代码:publicclassGenerics{publicstaticVf(CheckedCallable1callable)throwsE{returncallable.call();}publicstaticVg(CheckedCallable2callable)throwsE{returncallable.call();}publicstaticvoidmain(String[]args){f(()->1);g(()->1);}}interfaceCallable{Vcall()throwsException;}interfaceCheckedCallable1

java - 在 JSP EL 中使用接口(interface)默认方法时出现 "Property not found on type"

考虑以下接口(interface):publicinterfaceI{defaultStringgetProperty(){return"...";}}和只是重用默认实现的实现类:publicfinalclassCimplementsI{//empty}每当在JSPEL脚本上下文中使用C的实例时:${c.property}--我收到一个PropertyNotFoundException:javax.el.PropertyNotFoundException:Property'property'notfoundontypecom.example.Cjavax.el.BeanELResolv

Java 泛型 : How to encode a Functor interface in Java?

我想在Java中定义一个Functor类。这有效://aFunctionpublicinterfaceF{publicRapply(Aa);}publicinterfaceFunctor{publicFunctorfmap(Ff);}然而,fmap的返回值不应该是Functor,而是相应的子类。通常这可以用CRTP编码,但在这里我似乎因为附加参数A而碰壁。例如。以下和类似的编码不起作用(“类型参数FInst不在其范围内”):publicinterfaceFunctor>{public>Ifmap(Ff);}[澄清]“适当的子类”是指被调用的类本身的类型。例如。列表是仿函数,所以我想写一

java - strictfp 关键字在实现/扩展接口(interface)/类时的行为

JLSstrictfpInterfaces指定:TheeffectofthestrictfpmodifieristomakeallfloatordoubleexpressionswithintheinterfacedeclarationbeexplicitlyFP-strict(§15.4).Thisimpliesthatallnestedtypesdeclaredintheinterfaceareimplicitlystrictfp.和JLSstrictfpClasses:Theeffectofthestrictfpmodifieristomakeallfloatordoubleex

java - 从默认接口(interface)方法记录

向所有Java大师致敬!自Java8以来,我们可以在接口(interface)中使用默认实现(耶!)。但是,当您想从默认方法登录时会出现问题。我觉得每次我想用默认方法记录一些东西时调用.getLogger()是不明智的。是的,可以在接口(interface)中定义静态变量——但这对接口(interface)来说无论如何都不是一个好的做法+它公开了记录器(必须是公共(public)的)。我目前的解决方案:interfaceWithTimeout{defaultvoidonTimeout(ActiontimedOutAction){LogHolder.LOGGER.info("Action

java - Jackson JSON、不可变类和接口(interface)

我正在使用Jackson示例,但在使用不可变类和接口(interface)进行反序列化时遇到了一些问题。下面是我的代码:packagecom.art.starter.jackson_starter;importjava.io.IOException;importjava.io.StringReader;importjava.io.StringWriter;importorg.codehaus.jackson.JsonGenerationException;importorg.codehaus.jackson.map.JsonMappingException;importorg.code

java - 为什么 Java 8 中的函数式接口(interface)只有一个抽象方法?

正如我们所知,在Java8中引入了函数式接口(interface)的概念。一个功能接口(interface)有一个抽象方法,并且可能有几个默认或静态方法。但是为什么一个函数式接口(interface)应该只有一个抽象方法呢?如果接口(interface)有不止一个抽象方法,为什么这不是功能接口(interface)? 最佳答案 引入了功能接口(interface),也称为单一抽象方法接口(interface),以促进Lambda函数。由于lambda函数只能提供1个方法的实现,因此功能接口(interface)必须只有一个抽象方法。

java - 仅从类和接口(interface)静态导入

我的代码在Eclipse中编译得很好,但是当我尝试从命令行编译时(通过我们基于ruby​​的构建系统),我收到此错误消息:staticimportonlyfromclassesandinterfaces建议不允许静态导入公共(public)静态字段。我应该寻找什么来帮助诊断这个问题?我该如何解决?更新:根据@Ted的要求,引用文件中的常量声明:publicstaticfinalStringNULL="";和引用文件中的(bowdlerized)引用:importstaticmy.path.MyClass.NULL; 最佳答案 我的猜