草庐IT

default-interface-member

全部标签

java - 什么是Interface.super

我最近在java中使用了默认方法。在它的实现中我发现了publicinterfaceDefaultMethod{defaultStringshowMyName(Stringname){return"Hai"+name;}}publicclassDefaultMethodMainImplimplementsDefaultMethod{@OverridepublicStringshowMyName(Stringname){returnDefaultMethod.super.showMyName(name);}}我的问题是在DefaultMethod.super中,super将调用它除了Ob

java - hibernate 异常 : Unable to get the default Bean Validation factory

我正在尝试在我的项目中配置Spring和Hibernate,但我在bean验证时遇到了问题。我的类路径中有这个jar:hibernate-validator-4.2.0.Final.jar我有一些测试可以从数据库中查询一些数据,并且工作正常。现在我将这个jar添加到我的类路径中:validation-api-1.0.0.GA.jar当我尝试再次运行测试时,我得到了整个异常堆栈:java.lang.IllegalStateException:FailedtoloadApplicationContextatorg.springframework.test.context.TestConte

java - 为什么可以在 Java 接口(interface)方法上调用方法? [可比]

今天在AP计算机科学课上,我有这段代码:Comparablex=45;Comparabley=56;System.out.println(x.compareTo(y));这是有效的。它打印1(或-1,我忘了是哪个),但可以比较它们。我知道接口(interface)变量是指实现该接口(interface)的类的对象,但对我来说没有意义的是如何为接口(interface)变量分配一个整数,然后在其上调用一个方法。在这种情况下调用compareTo()方法的对象是什么?什么都没有实例化! 最佳答案 这叫做autoboxing,您的原始in

java - Java 8 中函数式接口(interface)的使用

这是来自::(doublecolon)operatorinJava8的后续问题其中Java允许您使用::运算符引用方法。是否可以提供一些我创建的自定义功能接口(interface)并将其与::运算符一起使用?以及如何去做? 最佳答案 “是否可以提供一些我创建的自定义功能接口(interface)并将其与::运算符一起使用?以及如何去做?”这是可能的,而且就像您想象的那样简单:只需使用一种方法创建一个接口(interface)。您甚至不需要@FunctionalInterface注释;此注释仅记录您的意图,并有助于在编译时检测错误,类

java - 在 Scala 中实现多级 Java 接口(interface)

我的interface在java中有以下层次结构publicinterfaceIdentifiable>extendsSerializable{publicTgetId();}publicinterfaceFunctionextendsIdentifiable{publicStringgetId();}publicabstractclassAdapterimplementsFunction{publicabstractStringgetId();}当我尝试在scala中实现Adapter时,如下所示classMultiGetFunctionextendsAdapter{defgetId

Java 8 函数式接口(interface)赋值上下文

问题是关于功能接口(interface)的分配上下文-Predicatep=String::isEmpty;在isEmpty的地方工作正常String类中的方法声明是-publicbooleanisEmpty(){}.如果我尝试在自定义类中声明相同的内容,例如-classTest{publicbooleanisEmpty(){...}}并进行相同的分配-Predicatep=Test::isEmpty;这将是编译错误-ThetypeTestdoesnotdefineisEmpty(String)thatisapplicablehere和Predicate表示一个参数的谓词(boolea

java - 是否可以只在同一个包和子包中访问一个接口(interface)?

是否可以只在同一个包和子包中访问一个接口(interface)?我定义了一个带有默认修饰符的接口(interface):packagecom.mycompany.myapp.dao;importjava.io.Serializable;interfaceBaseDao{publicvoidcreate(Tt);publicTreadById(Idid);publicvoidupdate(Tt);publicvoiddelete(Tt);}现在我有一个子包,我想在其中定义一个实现BaseDao的类。所以我写了这段代码:packagecom.mycompany.myapp.dao.jpa;

java - Spring 启动 Jpa : hibernate as default?

如果使用spring-boot-starter-data-jpa依赖项并通过org.springframework.data.jpa.repository.JpaRepository扩展存储库类,这是'普通jpa'还是hibernate?有什么区别? 最佳答案 JPA是接口(interface),Hibernate是实现。默认情况下,Spring使用Hibernate作为默认的JPA供应商。如果您愿意,可以使用任何其他引用实现,例如用于Spring项目中Java持久性的EclipseLink。

java - 如何为一个 Java 类创建两个接口(interface),一个是只读的,一个是可读写的?

我正在用Java为两人纸牌游戏编写游戏引擎,我的学生将为此编写AI玩家。AI玩家将轮流在他们面前的“table”的“field”上打牌。他们可以用自己场上的一张卡攻击另一位玩家场上的卡。卡片可能面朝上或面朝下。GameEngine类允许AI玩家通过调用GamePlayer.TakeTurn(GameEngineeng)方法轮到他/她。玩家可以向游戏引擎询问防守玩家的区域,这样玩家就可以根据那里的牌数和哪些牌面朝上来做出决定。假设这个方法是GameEngine.GetDefendingField()现在,我要确保攻击玩家不能修改防御玩家的领域或防御玩家领域中的牌,并且攻击玩家只能识别防御

java - 接口(interface)中没有设置方法

我有一个实现接口(interface)B的具体类A。Bref=newA();代码:publicinterfaceB{publicabstractString[]getWords();}publicclassAimplementsB{privateString[]words=newString[]{};publicvoidsetWords(String[]words){this.words=words;}publicString[]getWords(){returnthis.words;}}在接口(interface)B中,我只有getter方法而没有setter方法,尽管类A有它。所以