草庐IT

INTERFACE

全部标签

java - 无法配置 Spring Data JPA : Specified class is an interface

我已经开始使用SpringDataJPA。不幸的是我无法配置它。我有Entity类,Repository接口(interface),但是当我尝试测试它时,出现了问题。源代码(我有setter/getter方法,但为了更好的代码我跳过了它):@EntitypublicclassEmployee{@Id@GeneratedValueprivateLongid;privateStringfirstName;privateStringlastName;publicEmployee(){}}存储库类:publicinterfaceEmployeeRepositoryextendsJpaRepos

c# - C# 接口(interface)中不允许的字段

Java和C#语言存在很多偏差,我观察到的偏差之一是我们不能在接口(interface)中添加变量常量。作为Java背景,我在尝试此操作时看到编译错误时感到困惑。有没有人解释为什么会这样? 最佳答案 字段是类的实现细节,不应在其接口(interface)中公开。接口(interface)是一种抽象出类的实现细节的方法。这两个概念看起来很矛盾,实际上并不契合。您可以改为在接口(interface)中声明属性。更新(在意识到问题是关于常量,而不是变量字段之后):我认为(纯粹是我个人的猜测)Java决定允许这样的构造,因为它当时没有enu

java - 你能用Java实例化一个接口(interface)吗

这个问题在这里已经有了答案:CanwecreateaninstanceofaninterfaceinJava?[duplicate](7个答案)关闭9年前。你能在Java中实例化一个接口(interface)吗?我知道快速的回答是“不”。但是有些事情我不太了解。这里发生了什么?SharedPreferences是一个公共(public)接口(interface)。然而,我们并没有像我在书中读到的那样使用这个接口(interface),我们没有创建一个类并实现SharedPreferences。相反,我们像这样使用这个API:SharedPreferencespref=Context.g

java - 什么是Interface.super

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

java - 在 Lambda 表达式(Java)中,如何使用不带参数的表达式?

据我所知,有3种javalambda表达式。(intx,inty)->{returnx+y;}x->x*x()->x第三个似乎从未使用过。您能否为这3个案例中的每一个都举一个例子(案例3的额外示例会很好)来说明它们的用法?请使它们尽可能简单(最好以list.stream()....开头) 最佳答案 Thefirstexpressionwillbeusedwhereyouget2parametersforamethodandreturnavalue.Thesecondexpressionwillbeusedx->x*xwhereyou

Java - 抽象类和子类的二进制兼容性

在Java中,我定义了一个抽象类,里面既有具体的方法,也有抽象的方法,而且必须由第三方开发者独立子类化。只是为了确定:我是否可以对抽象类进行任何更改,使其与它们的类源代码兼容但二进制不兼容?换句话说:在他们编译了他们的子类之后,我可以改变抽象类-除了例如向其中添加一个抽象方法或从中删除一个由子类调用的protected方法,这些子类当然是源代码不兼容的——以一种可能迫使他们重新编译其子类的方式? 最佳答案 如果现在更改您的系统还为时不晚,我建议您这样做。覆盖通常不是自定义功能的好方法,因为它非常脆弱。例如,如果您稍后使用您的客户使用

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 - 为什么 Java 8 的 ToIntFunction<T> 不扩展 Function<T, Integer>

如果我编写ToIntFunction接口(interface),我想在接口(interface)中编码这样一个事实,即它只是一个返回原始int的函数,如下所示:@FunctionalInterfacepublicinterfaceToIntFunctionextendsFunction{intapplyAsInt(Tvalue);@OverridedefaultIntegerapply(Tvalue){returnInteger.valueOf(applyAsInt(value));}}我想知道,是否有令人信服的理由让Java8API设计者选择将原始替代方案与Function完全分开?